From bcece8697b3c39750857f967405888b252f7ed7a Mon Sep 17 00:00:00 2001 From: coolneng Date: Fri, 5 Feb 2021 21:16:35 +0100 Subject: [PATCH] Migrate from sqlite --- commands.load | 3 --- mysql.sql | 11 ----------- psql.sql | 5 ----- shell.nix | 36 +++++++++++++++--------------------- 4 files changed, 15 insertions(+), 40 deletions(-) delete mode 100644 commands.load delete mode 100644 mysql.sql delete mode 100644 psql.sql diff --git a/commands.load b/commands.load deleted file mode 100644 index 0491990..0000000 --- a/commands.load +++ /dev/null @@ -1,3 +0,0 @@ -LOAD DATABASE - FROM mysql://odyfo:rajjout@unix:/.mysql/mysql.sock/odyfo - INTO postgresql://odyfo:rajjout@/odyfo diff --git a/mysql.sql b/mysql.sql deleted file mode 100644 index f28fc08..0000000 --- a/mysql.sql +++ /dev/null @@ -1,11 +0,0 @@ -CREATE DATABASE IF NOT EXISTS odyfo CHARACTER SET utf8mb4; - -CREATE USER IF NOT EXISTS odyfo IDENTIFIED BY 'rajjout'; - -GRANT USAGE ON *.* TO odyfo@localhost IDENTIFIED BY 'rajjout'; - -GRANT ALL PRIVILEGES ON odyfo.* TO odyfo@localhost; - -USE odyfo; - -source origin_db.sql; diff --git a/psql.sql b/psql.sql deleted file mode 100644 index d9b2a1d..0000000 --- a/psql.sql +++ /dev/null @@ -1,5 +0,0 @@ -CREATE ROLE odyfo WITH LOGIN PASSWORD 'rajjout'; - -CREATE DATABASE odyfo WITH OWNER odyfo; - -CREATE DATABASE test_odyfo WITH OWNER odyfo; diff --git a/shell.nix b/shell.nix index 048ab84..e2ee9ea 100644 --- a/shell.nix +++ b/shell.nix @@ -3,37 +3,31 @@ with pkgs; let - mysql_file = "mysql.sql"; - psql_file = "psql.sql"; - mysql_dir = "$(pwd)/.mysql"; - psql_dir = "$(pwd)/.pgdata"; - socket = "${mysql_dir}/mysql.sock"; + sql_file = "psql_creation.sql"; + data_dir = "$(pwd)/.pgdata"; + origin = "odyfo.db"; in mkShell { - buildInputs = [ mysql57 postgresql pgloader ]; + buildInputs = [ postgresql pgloader ]; shellHook = '' trap "kill 0" EXIT - export PGDATA="${psql_dir}" - export PGHOST="${psql_dir}" + export PGDATA="${data_dir}" + export PGHOST="${data_dir}" - # MySQL initialization - if [ ! -d ${mysql_dir} ]; then - mysqld --datadir="${mysql_dir}" --socket="${socket}" --initialize-insecure - fi - mysqld --datadir="${mysql_dir}" --socket="${socket}" --skip-networking & - sleep 1 - - # PostgreSQL initialization - if [ ! -d ${psql_dir} ]; then + if [ ! -d ${data_dir} ]; then initdb --auth-local=trust --no-locale --encoding=UTF8 fi - pg_ctl start -o "--unix_socket_directories=${psql_dir} --listen_addresses='''" - mysql --socket="${socket}" -u root < ${mysql_file} - psql -d postgres -f ${psql_file} + if ! pg_ctl status; then + pg_ctl start -o "--unix_socket_directories=${data_dir} --listen_addresses='''" + fi - alias mysql='mysql --socket="${socket}" -u root' + psql -d postgres -f ${sql_file} alias psql='psql -d postgres' + alias nuke='rm -rf ${data_dir}' + + pgloader ${origin} postgresql:///odyfo + pg_dump odyfo > migrated_db.sql ''; }