* 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
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]