mirror-nourybot/migrations
2022-08-11 19:31:58 +02:00
..
000001_create_channels_table.down.sql add migration files 2022-08-08 23:58:10 +02:00
000001_create_channels_table.up.sql add initial data to migration 2022-08-10 18:57:50 +02:00
000002_create_users_table.down.sql add user models 2022-08-09 21:25:44 +02:00
000002_create_users_table.up.sql add initial data to migration 2022-08-10 18:57:50 +02:00
000003_create_commands_table.down.sql add command migrations 2022-08-11 01:17:33 +02:00
000003_create_commands_table.up.sql implement permissions for commands that checks a users level to be high enough 2022-08-11 19:31:58 +02:00
README.md add migration files 2022-08-08 23:58:10 +02:00

Migrations

Tool: golang-migrate

Create Database

$ sudo -u postgres psql
psql (14.3)
Type "help" for help.

postgres=# CREATE DATABASE nourybot;
CREATE DATABASE
postgres=# \c nourybot;
You are now connected to database "nourybot" as user "postgres".
nourybot=# CREATE ROLE username WITH LOGIN PASSWORD 'password';
CREATE ROLE
nourybot=# CREATE EXTENSION IF NOT EXISTS citext;
CREATE EXTENSION
nourybot=# 

Connect to Database

$ psql --host=localhost --dbname=nourybot --username=username
psql (14.3)
Type "help" for help.

nourybot=> 

Apply migrations

$ migrate -path=./migrations -database="postgres://username:password@localhost/nourybot?sslmode=disable" up
$ migrate -path=./migrations -database="postgres://username:password@localhost/nourybot?sslmode=disable" down

Fix Dirty database

$ migrate -path=./migrations -database="postgres://username:password@localhost/nourybot?sslmode=disable" force 1