ab695bcf83fcd855757776b07bc071f39bce90c1
Database migration
Detailed information about this
Setup
Configuration
All configuration needed is done in .configuration.sh. Note that a .pgpass file will do most of the times as well and therefore configuration is not mandatory.
Migration files
The files in the /migrations directory are changes to the scheme, not the full scheme.
The naming convention for migration files are:
- 000.000
- 000.001
- 000.002
- 000.003
- 000.004
- ...and so on
Example
The first file, migration/000.000 may look like this:
create table users (
name varchar(32) not null,
primary key (name)
);
The second file, migration/000.001 may look like this:
alter table users
add email varchar(256) not null;
Prerequisites
One table needs to be created for the database to make this work:
CREATE TABLE database_versions (
version varchar(32) not null,
is_active boolean not null default false,
creation_date timestamp not null default current_timestamp
);
To do the actual migration, then just run:
# ./db-upgrade
Languages
PLpgSQL
97.7%
Shell
2.3%