Search Postgresql Archives

Re: what database schema version management system to use?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexey Bashtanov schrieb am 06.04.2016 um 12:55:
> I am searching for a proper database schema version management system.
> 
> My criteria are the following:
> 0) Open-source, supports postgresql
> 1) Uses psql to execute changesets (to have no problems with COPY, transaction management or sophisticated DDL commands, and to benefit from scripting)
> 2) Support repeatable migrations (SQL files that get applied every time they are changed, it is useful for functions or views tracking).
> 
> Reasonable?
> 
> But unfortunately it looks like each of Liquibase, Flyway, SqlHawk, MigrateDB, Schema-evolution-manager, 
> Depesz's Versioning, Alembic and Sqitch does not satisfy some of those, right?
> 
> What DB VCS do you use and how does it related with the criteria listed above?
> Do you have any idea what other systems to try?

We are quite happy with Liquibase (using the XML format exclusively). 

COPY FROM stdin isn't supported that is true, but so far we did not have the need for hat. 
We don't do bulk imports in our schema migrations. 

DDL commands can easily be run using the <sql> tag, but for e.g. stored functions or view definitions we usually use <sqlFile> runOnChange="true" (that's your #2) and we only use a single statement per file so that we can also use splitStatements=false to avoid any problems with embedded semicolons (which in turn means that the included SQL file can easily be tested with psql or any other SQL client)

We written our own implementation of the Liquibase "Database" class (actually only a slightly modified version of the built-in one) that gets the quoting right for Liquibase & Postgres. Liquibase automatically quotes identifiers if they are no completely written in lowercase which is a bit annoying. 

Thomas



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux