summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-10-22 20:55:58 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-10-24 12:02:00 +0200
commitc1ab2c58b68b0a012bb935420d42a6c1661536d3 (patch)
treef373a65bf3bc2a1940a6acd4926d4ed3cedd71f7
parent1a82808aebdd8161bb9b40395af77e24d45f25c4 (diff)
Add database dev helpers in dev environment
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/default.nix b/default.nix
index e8cbc19..a76efdd 100644
--- a/default.nix
+++ b/default.nix
@@ -54,6 +54,31 @@ in rec {
'';
};
+ postgresDb = "helloworlddb";
+ postgresUser = "helloworlduser";
+ postgresPassword = "asdfghjkl";
+
+ postgresContainerName = "helloworld-dev-db";
+
+ run-dev-postgres-container = pkgs.writeScriptBin "run-dev-postgres-container" ''
+ ${pkgs.docker}/bin/docker run \
+ --name ${postgresContainerName} \
+ -e POSTGRES_PASSWORD="${postgresPassword}" \
+ -p 5432:5432 \
+ -m 512m \
+ -d \
+ --rm \
+ postgres
+
+ sleep 2 # because postgres needs to spin up
+ docker exec -it ${postgresContainerName} psql -U postgres -c "CREATE USER ${postgresUser} PASSWORD '${postgresPassword}' SUPERUSER CREATEDB INHERIT LOGIN"
+ docker exec -it ${postgresContainerName} createdb -U postgres ${postgresDb}
+ '';
+
+ destroy-dev-postgres-container = pkgs.writeScriptBin "destroy-dev-postgres-container" ''
+ docker stop ${postgresContainerName}
+ '';
+
shell = let
moz_overlay = import (
builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz
@@ -68,9 +93,12 @@ in rec {
deploy-to-kind
test-deployment
redeploy
+ run-dev-postgres-container
+ destroy-dev-postgres-container
curl
docker
kubectl
+ diesel-cli
rustchannel.rust-std
rustchannel.rust
@@ -82,8 +110,12 @@ in rec {
gcc
openssl
pkgconfig
+ postgresql
];
+ POSTGRES_PASSWORD = "${postgresPassword}";
+ DATABASE_URL="postgres://${postgresUser}:${postgresPassword}@localhost/${postgresDb}";
+
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang}/lib";
};