diff --git a/nix/shell.nix b/nix/shell.nix index e3e8a9bf..4eb0fe6f 100644 --- a/nix/shell.nix +++ b/nix/shell.nix @@ -6,7 +6,7 @@ # Elixir/Erlang elixir, # Database - postgresql_16, + postgresql_17, # Rust toolchain rustup, rust-analyzer, @@ -45,7 +45,7 @@ let # Initialize PostgreSQL if needed if [ ! -d "${pgDataDir}" ]; then echo "Initializing PostgreSQL database..." - ${postgresql_16}/bin/initdb -D ${pgDataDir} -U $USER --encoding=UTF8 --locale=en_US.UTF-8 + ${postgresql_17}/bin/initdb -D ${pgDataDir} -U $USER --encoding=UTF8 --locale=en_US.UTF-8 # Configure PostgreSQL for development (fast but unsafe for production) cat >> ${pgDataDir}/postgresql.conf << EOF @@ -59,16 +59,16 @@ let fi # Check if PostgreSQL is already running on this port - if ${postgresql_16}/bin/pg_isready -h ${pgHost} -p ${pgPort} > /dev/null 2>&1; then + if ${postgresql_17}/bin/pg_isready -h ${pgHost} -p ${pgPort} > /dev/null 2>&1; then echo "PostgreSQL already running on port ${pgPort}" else # Start PostgreSQL echo "Starting PostgreSQL on port ${pgPort}..." - ${postgresql_16}/bin/pg_ctl -D ${pgDataDir} -l ${pgDataDir}/logfile -o "-p ${pgPort}" start + ${postgresql_17}/bin/pg_ctl -D ${pgDataDir} -l ${pgDataDir}/logfile -o "-p ${pgPort}" start # Wait for PostgreSQL to be ready for i in {1..30}; do - if ${postgresql_16}/bin/pg_isready -h ${pgHost} -p ${pgPort} > /dev/null 2>&1; then + if ${postgresql_17}/bin/pg_isready -h ${pgHost} -p ${pgPort} > /dev/null 2>&1; then break fi if [ $i -eq 30 ]; then @@ -82,16 +82,16 @@ let fi # Create postgres role if it doesn't exist (needed by some tools) - ${postgresql_16}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -tc \ + ${postgresql_17}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -tc \ "SELECT 1 FROM pg_roles WHERE rolname='postgres'" | grep -q 1 || \ - ${postgresql_16}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -c \ + ${postgresql_17}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -c \ "CREATE ROLE postgres WITH SUPERUSER LOGIN;" # Create development and test databases for db in prop_dev prop_test; do - ${postgresql_16}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -tc \ + ${postgresql_17}/bin/psql -h ${pgHost} -p ${pgPort} -U $USER -d postgres -tc \ "SELECT 1 FROM pg_database WHERE datname='$db'" | grep -q 1 || \ - ${postgresql_16}/bin/createdb -h ${pgHost} -p ${pgPort} -U $USER $db + ${postgresql_17}/bin/createdb -h ${pgHost} -p ${pgPort} -U $USER $db done # Mark services as started @@ -112,7 +112,7 @@ let # Stop PostgreSQL if [ -d "${pgDataDir}" ]; then - ${postgresql_16}/bin/pg_ctl -D ${pgDataDir} stop -m fast 2>/dev/null || true + ${postgresql_17}/bin/pg_ctl -D ${pgDataDir} stop -m fast 2>/dev/null || true echo "PostgreSQL stopped" fi @@ -182,7 +182,7 @@ mkShell { elixir # Database - postgresql_16 + postgresql_17 # Rust toolchain rustup