Skip to content
This repository was archived by the owner on Jul 3, 2022. It is now read-only.

Database

Olli edited this page Apr 13, 2019 · 2 revisions

Database

Routines

Create

CREATE DATABASE `questlab` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE USER 'questlab'@'localhost' IDENTIFIED BY 'questlab';
GRANT ALL PRIVILEGES ON questlab.* TO 'questlab'@'localhost'

Export

Export database structure only:

$ mysqldump --routines --triggers --no-data -u questlab -p questlab | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > create.sql

Export data only:

$ mysqldump --no-create-info --skip-triggers --complete-insert -u questlab -p questlab > import.sql

Import

Import database structure:

$ mysql -u questlab -p questlab < create.sql

Import data:

$ mysql -u questlab -p questlab < import.sql

Note: You may need to delete all triggers before importing data and recreate them after the import (using triggers.sql)!

Update

There is currently no official database update procedure. As soon as we hit version 1.0 we will provide update scripts.

However the following routine—which is a combination of the commands above—appears to be sufficient:

$ mysqldump --no-create-info --skip-triggers --complete-insert -u questlab -p questlab > ~/data.sql
$ mysql -u questlab -p questlab < db/create.sql
$ mysql -u questlab -p questlab < db/drop.sql
$ mysql -u questlab -p questlab < ~/data.sql
$ mysql -u questlab -p questlab < db/procedures.sql
$ mysql -u questlab -p questlab < db/triggers.sql

Clone this wiki locally