Niklas FondbergandGitHub 14150d93b5 P5-4266 Add new canvas rooms
* P5-4266 Add new canvas rooms

* P5-4266 - Add room 21 for canvas as well

* P5-4266 - Fix room type for room 21 painting

* Change room type for 21 and 18 to kids-room
2019-10-16 09:31:47 +02:00
2019-10-16 09:31:47 +02:00
2017-12-27 12:01:25 +01:00

Database migration

Detailed information about this

Setup

Configuration

The credentials for each environment that could be updated is stored in the env/ directory.

Example

env/default.conf could look like this:

#!/bin/bash
export PSQL_OPTS="-h HOST_NAME -U USER_NAME"
export DB_NAME=DATABASE_NAME

Create one file for each environment you'd be able to migrate.

When db-upgrade is issued, it takes the first part of any name as argument and performs the migration on selected environment.

$ ./db-upgrade localhost would for example find a file named localhost.conf and use the credentials inside for the migration.

To avoid having to enter password for selected user on each run, just use a .pgpass file.

db-upgrade assumes the default environment should be used if it's argument is omitted. So, start by creating an initial default.conf with credentials for your localhost or some non-critical environment.

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.sql
  • 000.001.sql
  • 000.002.sql
  • 000.003.sql
  • 000.004.sql
  • ...and so on

Example The first file, migrations/000.000.sql may look like this:

create table users (
  name varchar(32) not null,
  primary key (name)
);

The second file, migrations/000.001.sql may look like this:

alter table users
add email varchar(256) not null;

To do the actual migration, then just run:

# ./db-upgrade [ENVIRONMENT NAME]
S
Description
No description provided
Readme
1.6 MiB
Languages
PLpgSQL 97.7%
Shell 2.3%