Обсуждение: Schema synchronization

Поиск
Список
Период
Сортировка

Schema synchronization

От
Arnau
Дата:
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

Re: Schema synchronization

От
John DeSoi
Дата:
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


Re: Schema synchronization

От
Arnau
Дата:
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