2016-02-12 12:44:52 +01:00
2016-02-12 11:47:19 +01:00
2016-02-12 12:44:52 +01:00

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
S
Description
No description provided
Readme
1.6 MiB
Languages
PLpgSQL 97.7%
Shell 2.3%