This repository has been archived on 2026-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
2025-10-05 21:33:50 +02:00

33 lines
1.1 KiB
Plaintext
Executable File

#! /usr/bin/env nix-shell
#! nix-shell -i nix -p nix
#! nix shell nixpkgs#bash nixpkgs#dotnet-ef nixpkgs#postgresql --command bash
set -ex
rm -rfv Spacebar.Db
# prep temporary db
# - Update collation version for template1 just incase!
psql -U postgres -c 'ALTER DATABASE template1 REFRESH COLLATION VERSION;'
dropdb -U postgres sb-server-scaffold --if-exists --force || true
createdb -U postgres sb-server-scaffold
DATABASE=postgres://postgres@127.0.0.1/sb-server-scaffold nix shell nixpkgs#nodejs ../.. --command npm run sync:db
# Create new project
dotnet new classlib --no-restore -o Spacebar.Db
cd Spacebar.Db
rm Class1.cs
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL -n -f net9.0
dotnet add package Microsoft.EntityFrameworkCore.Design -n -f net9.0
dotnet-ef dbcontext scaffold "Host=127.0.0.1; Username=postgres; Database=sb-server-scaffold" \
Npgsql.EntityFrameworkCore.PostgreSQL \
-o Models \
-c SpacebarDbContext \
--context-dir Contexts \
--force \
--no-onconfiguring \
--data-annotations
for patch in db-patches/*.patch; do
patch -p3 < $patch
done