Обсуждение: Schema synchronization
Hi all, I have several databases that I have to synchronize their schemas. I have been testing several programs like EMS PostgreSQL Comparer and Navicat PostgreSQL but none of them does all I need. Any advise about what is the best way to sync the schemas? Thanks -- Arnau
On Apr 19, 2006, at 2:26 PM, Arnau wrote: > I have several databases that I have to synchronize their > schemas. I have been testing several programs like EMS PostgreSQL > Comparer and Navicat PostgreSQL but none of them does all I need. > Any advise about what is the best way to sync the schemas? I think the best way is to do proper version control on files. After initial version 1, create version 2 as a series of create table, alter table, etc, statements to convert version 1 to version 2 and so on. Changing databases independently with your favorite admin tool and then trying to sync them up based on schema differences is difficult. For example, I don't think there is a way for a comparison program to know the difference between renaming a column and dropping a column with the addition a new one of the same type. The semantics of these two operations are very different. John DeSoi, Ph.D. http://pgedit.com/ Power Tools for PostgreSQL
John DeSoi wrote: > > On Apr 19, 2006, at 2:26 PM, Arnau wrote: > >> I have several databases that I have to synchronize their schemas. >> I have been testing several programs like EMS PostgreSQL Comparer and >> Navicat PostgreSQL but none of them does all I need. Any advise about >> what is the best way to sync the schemas? > > > I think the best way is to do proper version control on files. After > initial version 1, create version 2 as a series of create table, alter > table, etc, statements to convert version 1 to version 2 and so on. > Changing databases independently with your favorite admin tool and then > trying to sync them up based on schema differences is difficult. For > example, I don't think there is a way for a comparison program to know > the difference between renaming a column and dropping a column with the > addition a new one of the same type. The semantics of these two > operations are very different. I know that should be the way to go, but this wasn't done in the past. Since now on we have a version control system. Now I have some DDBB to synchronize so I need to do something to solve the current situation. Thanks -- Arnau