GitHub - db-journey/postgresql-driver: db-journey PostgreSQL driver (original) (raw)

PostgreSQL Driver

Build Status GoDoc

Usage

journey -url postgres://user@host:port/database -path ./db/migrations create add_field_to_table journey -url postgres://user@host:port/database -path ./db/migrations up journey help # for more info

Disable DDL transactions

Some queries, like alter type ... add value cannot be executed inside a transaction block. Since all migrations are executed in a transaction block by default (per migration file), a special option must be specified inside the migration file:

```sql -- disable_ddl_transaction alter type ...;

The option disable_ddl_transaction must be in a sql comment of the first line of the migration file.

Please note that you can't put several alter type ... add value ... in a single file. Doing so will result in a ERROR 25001: ALTER TYPE ... ADD cannot be executed from a function or multi-command string sql exception during migration.

Since the file will be executed without transaction, it's probably not a good idea to exec more than one statement anyway. If the last statement of the file fails, chances to run again the migration without error will be very limited.