Shutdown mysql when exiting the environment

This commit is contained in:
coolneng 2020-11-29 19:03:13 +01:00
parent 6d4cc27acb
commit fccb4b7d2b
Signed by: coolneng
GPG Key ID: 9893DA236405AF57

19
env/mysql.nix vendored
View File

@ -2,19 +2,24 @@
with pkgs; with pkgs;
mkShell { let
sql_file = "database/db.sql";
data_dir = "$(pwd)/.mysql";
socket = "${data_dir}/mysql.sock";
in mkShell {
buildInputs = [ mysql57 ]; buildInputs = [ mysql57 ];
shellHook = '' shellHook = ''
pkill mysql trap "kill 0" EXIT
rm -rf .mysql && mkdir .mysql [ -d ${data_dir} ] || mkdir ${data_dir}
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --initialize-insecure mysqld --datadir="${data_dir}" --socket="${socket}" --initialize-insecure
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --skip-networking & mysqld --datadir="${data_dir}" --socket="${socket}" --skip-networking &
sleep 1 sleep 1
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql mysql --socket="${socket}" -u root < ${sql_file}
alias mysql='mysql --socket="$(pwd)/.mysql/mysql.sock" -u root' alias mysql='mysql --socket="${socket}" -u root'
''; '';
} }