From d9116b2a15605bb666baffb5e63cfef8ae6ecf00 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Fri, 12 Apr 2024 01:49:57 +0000 Subject: [PATCH] Add unique constraints and insert data for Canada and Germany --- migrations/0012_slow_miracleman.sql | 2 + migrations/0013_high_unicorn.sql | 2 + migrations/meta/0012_snapshot.json | 319 +++++++++++++++++++++++ migrations/meta/0013_snapshot.json | 319 +++++++++++++++++++++++ migrations/meta/_journal.json | 14 + sql/{countries.sql => 001_countries.sql} | 2 +- sql/{us.sql => 002_us.sql} | 2 +- sql/{ca.sql => 003_ca.sql} | 2 +- sql/{de.sql => 004_de.sql} | 2 +- 9 files changed, 660 insertions(+), 4 deletions(-) create mode 100644 migrations/0012_slow_miracleman.sql create mode 100644 migrations/0013_high_unicorn.sql create mode 100644 migrations/meta/0012_snapshot.json create mode 100644 migrations/meta/0013_snapshot.json rename sql/{countries.sql => 001_countries.sql} (95%) rename sql/{us.sql => 002_us.sql} (98%) rename sql/{ca.sql => 003_ca.sql} (95%) rename sql/{de.sql => 004_de.sql} (95%) diff --git a/migrations/0012_slow_miracleman.sql b/migrations/0012_slow_miracleman.sql new file mode 100644 index 0000000..40df603 --- /dev/null +++ b/migrations/0012_slow_miracleman.sql @@ -0,0 +1,2 @@ +ALTER TABLE "worldTravelCountries" DROP CONSTRAINT "worldTravelCountries_country_code_unique";--> statement-breakpoint +ALTER TABLE "worldTravelCountries" ADD CONSTRAINT "worldTravelCountries_name_unique" UNIQUE("name"); \ No newline at end of file diff --git a/migrations/0013_high_unicorn.sql b/migrations/0013_high_unicorn.sql new file mode 100644 index 0000000..f9a2cd5 --- /dev/null +++ b/migrations/0013_high_unicorn.sql @@ -0,0 +1,2 @@ +ALTER TABLE "worldTravelCountries" DROP CONSTRAINT "worldTravelCountries_name_unique";--> statement-breakpoint +ALTER TABLE "worldTravelCountries" ADD CONSTRAINT "worldTravelCountries_country_code_unique" UNIQUE("country_code"); \ No newline at end of file diff --git a/migrations/meta/0012_snapshot.json b/migrations/meta/0012_snapshot.json new file mode 100644 index 0000000..e214bd7 --- /dev/null +++ b/migrations/meta/0012_snapshot.json @@ -0,0 +1,319 @@ +{ + "id": "3ea6cd28-ab73-49f1-be48-fdacff1559e2", + "prevId": "341b817a-4a1f-43ea-9e49-34769fca6da8", + "version": "5", + "dialect": "pg", + "tables": { + "featuredAdventures": { + "name": "featuredAdventures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "location": { + "name": "location", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "featuredAdventures_name_unique": { + "name": "featuredAdventures_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + }, + "session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "sharedAdventures": { + "name": "sharedAdventures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "data": { + "name": "data", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "date": { + "name": "date", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "first_name": { + "name": "first_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "last_name": { + "name": "last_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "hashed_password": { + "name": "hashed_password", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "userVisitedAdventures": { + "name": "userVisitedAdventures", + "schema": "", + "columns": { + "adventure_id": { + "name": "adventure_id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adventure_name": { + "name": "adventure_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "location": { + "name": "location", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "visited_date": { + "name": "visited_date", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "userVisitedAdventures_user_id_user_id_fk": { + "name": "userVisitedAdventures_user_id_user_id_fk", + "tableFrom": "userVisitedAdventures", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "worldTravelCountries": { + "name": "worldTravelCountries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "country_code": { + "name": "country_code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "continent": { + "name": "continent", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "worldTravelCountries_name_unique": { + "name": "worldTravelCountries_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + }, + "worldTravelCountryRegions": { + "name": "worldTravelCountryRegions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "country_code": { + "name": "country_code", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "worldTravelCountryRegions_country_code_worldTravelCountries_country_code_fk": { + "name": "worldTravelCountryRegions_country_code_worldTravelCountries_country_code_fk", + "tableFrom": "worldTravelCountryRegions", + "tableTo": "worldTravelCountries", + "columnsFrom": [ + "country_code" + ], + "columnsTo": [ + "country_code" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "worldTravelCountryRegions_name_unique": { + "name": "worldTravelCountryRegions_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + } + }, + "enums": {}, + "schemas": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/migrations/meta/0013_snapshot.json b/migrations/meta/0013_snapshot.json new file mode 100644 index 0000000..fc97e05 --- /dev/null +++ b/migrations/meta/0013_snapshot.json @@ -0,0 +1,319 @@ +{ + "id": "09cc6e72-191b-4579-ad62-e24dbc03bacf", + "prevId": "3ea6cd28-ab73-49f1-be48-fdacff1559e2", + "version": "5", + "dialect": "pg", + "tables": { + "featuredAdventures": { + "name": "featuredAdventures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "location": { + "name": "location", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "featuredAdventures_name_unique": { + "name": "featuredAdventures_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + }, + "session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "sharedAdventures": { + "name": "sharedAdventures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "data": { + "name": "data", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "date": { + "name": "date", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "first_name": { + "name": "first_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "last_name": { + "name": "last_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "hashed_password": { + "name": "hashed_password", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "userVisitedAdventures": { + "name": "userVisitedAdventures", + "schema": "", + "columns": { + "adventure_id": { + "name": "adventure_id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "adventure_name": { + "name": "adventure_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "location": { + "name": "location", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "visited_date": { + "name": "visited_date", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "userVisitedAdventures_user_id_user_id_fk": { + "name": "userVisitedAdventures_user_id_user_id_fk", + "tableFrom": "userVisitedAdventures", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "worldTravelCountries": { + "name": "worldTravelCountries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "country_code": { + "name": "country_code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "continent": { + "name": "continent", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "worldTravelCountries_country_code_unique": { + "name": "worldTravelCountries_country_code_unique", + "nullsNotDistinct": false, + "columns": [ + "country_code" + ] + } + } + }, + "worldTravelCountryRegions": { + "name": "worldTravelCountryRegions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "country_code": { + "name": "country_code", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "worldTravelCountryRegions_country_code_worldTravelCountries_country_code_fk": { + "name": "worldTravelCountryRegions_country_code_worldTravelCountries_country_code_fk", + "tableFrom": "worldTravelCountryRegions", + "tableTo": "worldTravelCountries", + "columnsFrom": [ + "country_code" + ], + "columnsTo": [ + "country_code" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "worldTravelCountryRegions_name_unique": { + "name": "worldTravelCountryRegions_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + } + }, + "enums": {}, + "schemas": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/migrations/meta/_journal.json b/migrations/meta/_journal.json index ef36d66..4a13db2 100644 --- a/migrations/meta/_journal.json +++ b/migrations/meta/_journal.json @@ -85,6 +85,20 @@ "when": 1712885083355, "tag": "0011_legal_red_hulk", "breakpoints": true + }, + { + "idx": 12, + "version": "5", + "when": 1712886238567, + "tag": "0012_slow_miracleman", + "breakpoints": true + }, + { + "idx": 13, + "version": "5", + "when": 1712886259872, + "tag": "0013_high_unicorn", + "breakpoints": true } ] } \ No newline at end of file diff --git a/sql/countries.sql b/sql/001_countries.sql similarity index 95% rename from sql/countries.sql rename to sql/001_countries.sql index 9789561..0608443 100644 --- a/sql/countries.sql +++ b/sql/001_countries.sql @@ -14,5 +14,5 @@ VALUES ('Australia', 'au', 'Oceania'), ('New Zealand', 'nz', 'Oceania'), ('South Africa', 'za', 'Africa'), - ('Egypt', 'eg', 'Africa'), + ('Egypt', 'eg', 'Africa') ON CONFLICT (country_code) DO NOTHING; \ No newline at end of file diff --git a/sql/us.sql b/sql/002_us.sql similarity index 98% rename from sql/us.sql rename to sql/002_us.sql index 5ddd9cd..4b6f706 100644 --- a/sql/us.sql +++ b/sql/002_us.sql @@ -49,6 +49,6 @@ VALUES ('Washington', 'us'), ('West Virginia', 'us'), ('Wisconsin', 'us'), - ('Wyoming', 'us'); + ('Wyoming', 'us') ON CONFLICT (name) DO NOTHING; diff --git a/sql/ca.sql b/sql/003_ca.sql similarity index 95% rename from sql/ca.sql rename to sql/003_ca.sql index d814a98..7fc2869 100644 --- a/sql/ca.sql +++ b/sql/003_ca.sql @@ -12,6 +12,6 @@ VALUES ('Saskatchewan', 'ca'), ('Northwest Territories', 'ca'), ('Nunavut', 'ca'), - ('Yukon', 'ca'); + ('Yukon', 'ca') ON CONFLICT (name) DO NOTHING; diff --git a/sql/de.sql b/sql/004_de.sql similarity index 95% rename from sql/de.sql rename to sql/004_de.sql index f694365..2ad9216 100644 --- a/sql/de.sql +++ b/sql/004_de.sql @@ -15,6 +15,6 @@ VALUES ('Saxony', 'de'), ('Saxony-Anhalt', 'de'), ('Schleswig-Holstein', 'de'), - ('Thuringia', 'de'); + ('Thuringia', 'de') ON CONFLICT (name) DO NOTHING;