From 1ce77ad1ee297f57d8b4b2b84bb154cb156cdd83 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Sat, 5 Oct 2024 12:03:46 -0600 Subject: [PATCH] create app schema if not exists without relying on init.sql --- Controllers/MigrationController.cs | 1 + External/Implementations/Postgres/CollisionRecordDataAccess.cs | 2 +- External/Implementations/Postgres/ExtraFieldDataAccess.cs | 2 +- External/Implementations/Postgres/GasRecordDataAccess.cs | 2 +- External/Implementations/Postgres/NoteDataAccess.cs | 2 +- External/Implementations/Postgres/OdometerRecordDataAccess.cs | 2 +- External/Implementations/Postgres/PlanRecordDataAccess.cs | 2 +- .../Implementations/Postgres/PlanRecordTemplateDataAccess.cs | 2 +- External/Implementations/Postgres/ReminderRecordDataAccess.cs | 2 +- External/Implementations/Postgres/ServiceRecordDataAccess.cs | 2 +- External/Implementations/Postgres/SupplyRecordDataAccess.cs | 2 +- External/Implementations/Postgres/TaxRecordDataAccess.cs | 2 +- External/Implementations/Postgres/TokenRecordDataAccess.cs | 2 +- External/Implementations/Postgres/UpgradeRecordDataAccess.cs | 2 +- External/Implementations/Postgres/UserAccessDataAcces.cs | 2 +- External/Implementations/Postgres/UserConfigDataAccess.cs | 2 +- External/Implementations/Postgres/UserRecordDataAccess.cs | 2 +- External/Implementations/Postgres/VehicleDataAccess.cs | 2 +- 18 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Controllers/MigrationController.cs b/Controllers/MigrationController.cs index 2e2d9d0..bfb872c 100644 --- a/Controllers/MigrationController.cs +++ b/Controllers/MigrationController.cs @@ -34,6 +34,7 @@ namespace CarCareTracker.Controllers { var cmds = new List { + "CREATE SCHEMA IF NOT EXISTS app", "CREATE TABLE IF NOT EXISTS app.vehicles (id INT GENERATED BY DEFAULT AS IDENTITY primary key, data jsonb not null)", "CREATE TABLE IF NOT EXISTS app.collisionrecords (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)", "CREATE TABLE IF NOT EXISTS app.upgraderecords (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)", diff --git a/External/Implementations/Postgres/CollisionRecordDataAccess.cs b/External/Implementations/Postgres/CollisionRecordDataAccess.cs index 3d05853..c95ca6f 100644 --- a/External/Implementations/Postgres/CollisionRecordDataAccess.cs +++ b/External/Implementations/Postgres/CollisionRecordDataAccess.cs @@ -18,7 +18,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/ExtraFieldDataAccess.cs b/External/Implementations/Postgres/ExtraFieldDataAccess.cs index 88bc50e..90c6d8d 100644 --- a/External/Implementations/Postgres/ExtraFieldDataAccess.cs +++ b/External/Implementations/Postgres/ExtraFieldDataAccess.cs @@ -18,7 +18,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT primary key, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT primary key, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/GasRecordDataAccess.cs b/External/Implementations/Postgres/GasRecordDataAccess.cs index 591f351..4e98b38 100644 --- a/External/Implementations/Postgres/GasRecordDataAccess.cs +++ b/External/Implementations/Postgres/GasRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/NoteDataAccess.cs b/External/Implementations/Postgres/NoteDataAccess.cs index e977d42..4970d76 100644 --- a/External/Implementations/Postgres/NoteDataAccess.cs +++ b/External/Implementations/Postgres/NoteDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/OdometerRecordDataAccess.cs b/External/Implementations/Postgres/OdometerRecordDataAccess.cs index 230018b..1a96d4c 100644 --- a/External/Implementations/Postgres/OdometerRecordDataAccess.cs +++ b/External/Implementations/Postgres/OdometerRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/PlanRecordDataAccess.cs b/External/Implementations/Postgres/PlanRecordDataAccess.cs index 8af78ef..8389f3d 100644 --- a/External/Implementations/Postgres/PlanRecordDataAccess.cs +++ b/External/Implementations/Postgres/PlanRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/PlanRecordTemplateDataAccess.cs b/External/Implementations/Postgres/PlanRecordTemplateDataAccess.cs index fee9858..43984e1 100644 --- a/External/Implementations/Postgres/PlanRecordTemplateDataAccess.cs +++ b/External/Implementations/Postgres/PlanRecordTemplateDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/ReminderRecordDataAccess.cs b/External/Implementations/Postgres/ReminderRecordDataAccess.cs index 9920b47..28a0d79 100644 --- a/External/Implementations/Postgres/ReminderRecordDataAccess.cs +++ b/External/Implementations/Postgres/ReminderRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/ServiceRecordDataAccess.cs b/External/Implementations/Postgres/ServiceRecordDataAccess.cs index 9e7df09..6ff20fe 100644 --- a/External/Implementations/Postgres/ServiceRecordDataAccess.cs +++ b/External/Implementations/Postgres/ServiceRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/SupplyRecordDataAccess.cs b/External/Implementations/Postgres/SupplyRecordDataAccess.cs index a70d6b6..2f87a13 100644 --- a/External/Implementations/Postgres/SupplyRecordDataAccess.cs +++ b/External/Implementations/Postgres/SupplyRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/TaxRecordDataAccess.cs b/External/Implementations/Postgres/TaxRecordDataAccess.cs index e794e15..224826a 100644 --- a/External/Implementations/Postgres/TaxRecordDataAccess.cs +++ b/External/Implementations/Postgres/TaxRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/TokenRecordDataAccess.cs b/External/Implementations/Postgres/TokenRecordDataAccess.cs index ccd9fc8..3d5c4fc 100644 --- a/External/Implementations/Postgres/TokenRecordDataAccess.cs +++ b/External/Implementations/Postgres/TokenRecordDataAccess.cs @@ -16,7 +16,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, body TEXT not null, emailaddress TEXT not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, body TEXT not null, emailaddress TEXT not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/UpgradeRecordDataAccess.cs b/External/Implementations/Postgres/UpgradeRecordDataAccess.cs index 4197ddc..3c039f5 100644 --- a/External/Implementations/Postgres/UpgradeRecordDataAccess.cs +++ b/External/Implementations/Postgres/UpgradeRecordDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, vehicleId INT not null, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/UserAccessDataAcces.cs b/External/Implementations/Postgres/UserAccessDataAcces.cs index c5a35e6..3f4db7f 100644 --- a/External/Implementations/Postgres/UserAccessDataAcces.cs +++ b/External/Implementations/Postgres/UserAccessDataAcces.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (userId INT, vehicleId INT, PRIMARY KEY(userId, vehicleId))"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (userId INT, vehicleId INT, PRIMARY KEY(userId, vehicleId))"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/UserConfigDataAccess.cs b/External/Implementations/Postgres/UserConfigDataAccess.cs index c3d5093..9b1326c 100644 --- a/External/Implementations/Postgres/UserConfigDataAccess.cs +++ b/External/Implementations/Postgres/UserConfigDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT primary key, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT primary key, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/UserRecordDataAccess.cs b/External/Implementations/Postgres/UserRecordDataAccess.cs index a77957d..4c16f68 100644 --- a/External/Implementations/Postgres/UserRecordDataAccess.cs +++ b/External/Implementations/Postgres/UserRecordDataAccess.cs @@ -16,7 +16,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, username TEXT not null, emailaddress TEXT not null, password TEXT not null, isadmin BOOLEAN)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, username TEXT not null, emailaddress TEXT not null, password TEXT not null, isadmin BOOLEAN)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery(); diff --git a/External/Implementations/Postgres/VehicleDataAccess.cs b/External/Implementations/Postgres/VehicleDataAccess.cs index 1fad40a..84aa086 100644 --- a/External/Implementations/Postgres/VehicleDataAccess.cs +++ b/External/Implementations/Postgres/VehicleDataAccess.cs @@ -17,7 +17,7 @@ namespace CarCareTracker.External.Implementations try { //create table if not exist. - string initCMD = $"CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, data jsonb not null)"; + string initCMD = $"CREATE SCHEMA IF NOT EXISTS app; CREATE TABLE IF NOT EXISTS app.{tableName} (id INT GENERATED BY DEFAULT AS IDENTITY primary key, data jsonb not null)"; using (var ctext = pgDataSource.CreateCommand(initCMD)) { ctext.ExecuteNonQuery();