diff --git a/drizzle/20261025135327_house_contact/migration.sql b/drizzle/20261025135327_house_contact/migration.sql
new file mode 100644
index 0000000..84b5c60
--- /dev/null
+++ b/drizzle/20261025135327_house_contact/migration.sql
@@ -0,0 +1,17 @@
+ALTER TABLE "house"."listings" ADD COLUMN "contact_status" text;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD COLUMN "contact_at" timestamp with time zone;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD COLUMN "contact_by" text;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD COLUMN "contact_note" text;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD COLUMN "contact_ref" text;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD COLUMN "viewing_at" timestamp with time zone;--> statement-breakpoint
+CREATE INDEX "listings_contact_idx" ON "house"."listings" ("contact_status") WHERE contact_status IS NOT NULL;--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD CONSTRAINT "listings_contact_status_check" CHECK (contact_status IS NULL OR contact_status IN ('waiting_on_me', 'not_contacted', 'waiting_on_them', 'viewing', 'closed'));--> statement-breakpoint
+ALTER TABLE "house"."listings" ADD CONSTRAINT "listings_contact_by_check" CHECK (contact_by IS NULL OR contact_by IN ('me', 'them'));--> statement-breakpoint
+-- house_cli (scripts/house-db.sh) has table-level rights on house.listings, which cover new
+-- columns; re-granted here so a fresh database gets the same. The role is created out of band.
+DO $$
+BEGIN
+ IF current_user = 'personal' AND EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'house_cli') THEN
+ GRANT SELECT, INSERT, UPDATE, DELETE ON house.listings TO house_cli;
+ END IF;
+END $$;
diff --git a/drizzle/20261025135327_house_contact/snapshot.json b/drizzle/20261025135327_house_contact/snapshot.json
new file mode 100644
index 0000000..9d3e841
--- /dev/null
+++ b/drizzle/20261025135327_house_contact/snapshot.json
@@ -0,0 +1,26360 @@
+{
+ "version": "8",
+ "dialect": "postgres",
+ "id": "f718e145-2dc1-46f8-9e5b-6d168317b075",
+ "prevIds": [
+ "202ce1ed-9983-44f9-a123-5841ed28a7a1"
+ ],
+ "ddl": [
+ {
+ "name": "animaldex",
+ "entityType": "schemas"
+ },
+ {
+ "name": "auth",
+ "entityType": "schemas"
+ },
+ {
+ "name": "books",
+ "entityType": "schemas"
+ },
+ {
+ "name": "cars",
+ "entityType": "schemas"
+ },
+ {
+ "name": "cs",
+ "entityType": "schemas"
+ },
+ {
+ "name": "games",
+ "entityType": "schemas"
+ },
+ {
+ "name": "groceries",
+ "entityType": "schemas"
+ },
+ {
+ "name": "hardware",
+ "entityType": "schemas"
+ },
+ {
+ "name": "health",
+ "entityType": "schemas"
+ },
+ {
+ "name": "home",
+ "entityType": "schemas"
+ },
+ {
+ "name": "house",
+ "entityType": "schemas"
+ },
+ {
+ "name": "meta",
+ "entityType": "schemas"
+ },
+ {
+ "name": "money",
+ "entityType": "schemas"
+ },
+ {
+ "name": "music",
+ "entityType": "schemas"
+ },
+ {
+ "name": "planes",
+ "entityType": "schemas"
+ },
+ {
+ "name": "ref",
+ "entityType": "schemas"
+ },
+ {
+ "name": "site",
+ "entityType": "schemas"
+ },
+ {
+ "name": "tasks",
+ "entityType": "schemas"
+ },
+ {
+ "name": "trains",
+ "entityType": "schemas"
+ },
+ {
+ "name": "wildlife",
+ "entityType": "schemas"
+ },
+ {
+ "values": [
+ "draft",
+ "published"
+ ],
+ "name": "blog_article_status",
+ "entityType": "enums",
+ "schema": "site"
+ },
+ {
+ "values": [
+ "catchable",
+ "trade_only",
+ "transfer_only",
+ "event_only",
+ "unknown",
+ "evolve",
+ "breed"
+ ],
+ "name": "availability",
+ "entityType": "enums",
+ "schema": "ref"
+ },
+ {
+ "values": [
+ "book",
+ "paper",
+ "article"
+ ],
+ "name": "kind",
+ "entityType": "enums",
+ "schema": "books"
+ },
+ {
+ "values": [
+ "pending",
+ "matched",
+ "low_confidence",
+ "not_found",
+ "manual"
+ ],
+ "name": "metadata_status",
+ "entityType": "enums",
+ "schema": "books"
+ },
+ {
+ "values": [
+ "want_to_read",
+ "reading",
+ "finished",
+ "abandoned"
+ ],
+ "name": "reading_status",
+ "entityType": "enums",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "account",
+ "entityType": "tables",
+ "schema": "auth"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "session",
+ "entityType": "tables",
+ "schema": "auth"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "user",
+ "entityType": "tables",
+ "schema": "auth"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "verification",
+ "entityType": "tables",
+ "schema": "auth"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "blog_articles",
+ "entityType": "tables",
+ "schema": "site"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tasks",
+ "entityType": "tables",
+ "schema": "site"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "task_topics",
+ "entityType": "tables",
+ "schema": "site"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "topics",
+ "entityType": "tables",
+ "schema": "site"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "catch_em_all_settings",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_games",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_encounters",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_evolutions",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_game_entries",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_locations",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "catch_em_all_entries",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "catch_em_all_games",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_games",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_items",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_progress",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "osu_entries",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_catches",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_dex_numbers",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_game_research",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_journeys",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_learnsets",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_milestones",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_moves",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_research",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "pokemon_seen",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_challenge_progress",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_challenges",
+ "entityType": "tables",
+ "schema": "ref"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_ranks",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracker_weapon_ranks",
+ "entityType": "tables",
+ "schema": "games"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "animals",
+ "entityType": "tables",
+ "schema": "animaldex"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "sighting_photos",
+ "entityType": "tables",
+ "schema": "animaldex"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "sightings",
+ "entityType": "tables",
+ "schema": "animaldex"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "columns",
+ "entityType": "tables",
+ "schema": "meta"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "edit_log",
+ "entityType": "tables",
+ "schema": "meta"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tables",
+ "entityType": "tables",
+ "schema": "meta"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "accounts",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "bank_sessions",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "forecasts",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "insurances",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "projection_settings",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "recurring",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "transactions",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "utility_readings",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "utility_settings",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "wishlist",
+ "entityType": "tables",
+ "schema": "money"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "item_dimensions",
+ "entityType": "tables",
+ "schema": "cs"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "items",
+ "entityType": "tables",
+ "schema": "cs"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "price_observations",
+ "entityType": "tables",
+ "schema": "cs"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "price_streams",
+ "entityType": "tables",
+ "schema": "cs"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "alert_rules",
+ "entityType": "tables",
+ "schema": "house"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "listings",
+ "entityType": "tables",
+ "schema": "house"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "price_history",
+ "entityType": "tables",
+ "schema": "house"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "searches",
+ "entityType": "tables",
+ "schema": "house"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "worker_runs",
+ "entityType": "tables",
+ "schema": "house"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "appointments",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "body_measurements",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "medications",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "nutrition_daily",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "sleep",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "vaccinations",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "workouts",
+ "entityType": "tables",
+ "schema": "health"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "files",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "notes",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "progress",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "sessions",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "shelf_works",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "shelves",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "works",
+ "entityType": "tables",
+ "schema": "books"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "activity",
+ "entityType": "tables",
+ "schema": "tasks"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "areas",
+ "entityType": "tables",
+ "schema": "tasks"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "goals",
+ "entityType": "tables",
+ "schema": "tasks"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tasks",
+ "entityType": "tables",
+ "schema": "tasks"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "groups",
+ "entityType": "tables",
+ "schema": "groceries"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "import_runs",
+ "entityType": "tables",
+ "schema": "groceries"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "item_prices",
+ "entityType": "tables",
+ "schema": "groceries"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "items",
+ "entityType": "tables",
+ "schema": "groceries"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "stores",
+ "entityType": "tables",
+ "schema": "groceries"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "links",
+ "entityType": "tables",
+ "schema": "home"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "snapshots",
+ "entityType": "tables",
+ "schema": "home"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "activity",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "brands",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "models",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "photos",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "seen",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "variants",
+ "entityType": "tables",
+ "schema": "cars"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "activity",
+ "entityType": "tables",
+ "schema": "planes"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "makers",
+ "entityType": "tables",
+ "schema": "planes"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "photos",
+ "entityType": "tables",
+ "schema": "planes"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "seen",
+ "entityType": "tables",
+ "schema": "planes"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "types",
+ "entityType": "tables",
+ "schema": "planes"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "activity",
+ "entityType": "tables",
+ "schema": "wildlife"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "groups",
+ "entityType": "tables",
+ "schema": "wildlife"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "photos",
+ "entityType": "tables",
+ "schema": "wildlife"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "seen",
+ "entityType": "tables",
+ "schema": "wildlife"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "species",
+ "entityType": "tables",
+ "schema": "wildlife"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "activity",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "makers",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "operators",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "photos",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "seen",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "type_operators",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "types",
+ "entityType": "tables",
+ "schema": "trains"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "albums",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "artists",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "import_state",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "now_playing",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "osu_match_cache",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "plays",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "spotify_auth",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "track_artists",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "tracks",
+ "entityType": "tables",
+ "schema": "music"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "components",
+ "entityType": "tables",
+ "schema": "hardware"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "devices",
+ "entityType": "tables",
+ "schema": "hardware"
+ },
+ {
+ "isRlsEnabled": false,
+ "name": "sensitivities",
+ "entityType": "tables",
+ "schema": "hardware"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "account_id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "issuer",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "provider_id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "access_token",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "refresh_token",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id_token",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "access_token_expires_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "refresh_token_expires_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "scope",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "password",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "expires_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "token",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ip_address",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_agent",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'user'",
+ "generated": null,
+ "identity": null,
+ "name": "role",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "email",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "email_verified",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "user"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "identifier",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "value",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "expires_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "content",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "tags",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "blog_article_status",
+ "typeSchema": "site",
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'draft'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "current_points",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "total_points",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "tasks"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "task_id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "topic_id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "topics"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "topics"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "emoji",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "topics"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "topics"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "site",
+ "table": "topics"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_settings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_settings"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "generation",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "breeding",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_games"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "number",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "generation",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type1",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type2",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "hp",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "attack",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "defense",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "special_attack",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "special_defense",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "speed",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "evolves_from",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "evolution_chain",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "is_baby",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "is_legendary",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "is_mythical",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "location_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "method",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_level",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "max_level",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rarity",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "form",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "conditions",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pokeapi'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "from_pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "to_pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "method",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pokeapi'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "availability",
+ "typeSchema": "ref",
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'catchable'",
+ "generated": null,
+ "identity": null,
+ "name": "availability",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pokeapi'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "region",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_key",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_credit",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pokeapi'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_locations"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_game_entry_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "franchise",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "short_name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "release_year",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rules",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_games"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "icon",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "post_launch",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'done'",
+ "generated": null,
+ "identity": null,
+ "name": "milestone",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'osu'",
+ "generated": null,
+ "identity": null,
+ "name": "mode",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "beatmap_url",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "score_url",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pass'",
+ "generated": null,
+ "identity": null,
+ "name": "goal",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'stamina'",
+ "generated": null,
+ "identity": null,
+ "name": "skill",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bpm",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "duration",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "numeric",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "accuracy",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "combo",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "misses",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "numeric",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pp",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'NM'",
+ "generated": null,
+ "identity": null,
+ "name": "mods",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "numeric(4,2)",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1.00",
+ "generated": null,
+ "identity": null,
+ "name": "rate",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "achieved",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "played_on",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "nickname",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "level",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "moves",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "party_slot",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "shiny",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nature",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ability",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ball",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "location",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'caught'",
+ "generated": null,
+ "identity": null,
+ "name": "obtained",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'story'",
+ "generated": null,
+ "identity": null,
+ "name": "stage",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "caught_on",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex_name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "number",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_research"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "version_group",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_research"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "regions",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_game_research"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'story'",
+ "generated": null,
+ "identity": null,
+ "name": "stage",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "location",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "completed",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "version_group",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "moves",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'story'",
+ "generated": null,
+ "identity": null,
+ "name": "stage",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "done",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "power",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "accuracy",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pp",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "priority",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "target",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_moves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_research"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "facts",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "pokemon_research"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pokemon_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "challenge_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "current",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "done",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "requirement",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "reward",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "icon",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "target",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source_url",
+ "entityType": "columns",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "level",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "prestige",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_id",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "level",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "prestige",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "species",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "breed",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "animal_name",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ai_breed_suggestion",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ai_breed_confidence",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "submitted_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "accepted_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "denied_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "animals"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "sighting_id",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "r2_key",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "uploaded_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "animal_id",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "reporter_name",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seen_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lat",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lng",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "submitted_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "accepted_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "denied_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "byDefault",
+ "name": "columns_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "table_id",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "column_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "label",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ui_type",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "options",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "hidden",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "help_text",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "edit_log_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_email",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "schema_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "table_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "action",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pk",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "before",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "after",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "byDefault",
+ "name": "tables_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "schema_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "table_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "display_name",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "icon",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "picture_url",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "editable",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "has_done",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "default_sort",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "archived_at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "opening_balance_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'spendable'",
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "include_in_total",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "color",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'personal'",
+ "generated": null,
+ "identity": null,
+ "name": "scope",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "owner",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "iban",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "external_uid",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'manual'",
+ "generated": null,
+ "identity": null,
+ "name": "provider",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bank_balance_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bank_balance_type",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bank_balance_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'enablebanking'",
+ "generated": null,
+ "identity": null,
+ "name": "provider",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "session_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "aspsp_name",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "aspsp_country",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "psu_type",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'authorized'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "valid_until",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'[]'",
+ "generated": null,
+ "identity": null,
+ "name": "accounts",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_synced_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_error",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "amount_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "account_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "provider",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "coverage",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "premium_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'monthly'",
+ "generated": null,
+ "identity": null,
+ "name": "cadence",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "investment_account_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "100000",
+ "generated": null,
+ "identity": null,
+ "name": "reserve_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "numeric(5,2)",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'5.00'",
+ "generated": null,
+ "identity": null,
+ "name": "annual_return_percent",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'excess'",
+ "generated": null,
+ "identity": null,
+ "name": "contribution_mode",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "include_recurring",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "fixed_monthly_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "end_date",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "amount_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cadence",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "starts_on",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ends_on",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "account_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "account_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "amount_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "external_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'manual'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "booking_status",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "counterparty",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "raw",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "value_date",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "numeric(12,3)",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "reading",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "numeric(12,4)",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'0'",
+ "generated": null,
+ "identity": null,
+ "name": "rate_per_unit",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "monthly_advance_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "billing_start",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "user_id",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "estimated_cents",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "3",
+ "generated": null,
+ "identity": null,
+ "name": "priority",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_id",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "value",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "market_hash_name",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "icon_url",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_type",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "first_seen_at",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "last_seen_at",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "price_observations_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_id",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "currency",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "observed_at",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_cents",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "volume",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "imported_at",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_streams"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "currency",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_streams"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "cs",
+ "table": "price_streams"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "enabled",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'rent'",
+ "generated": null,
+ "identity": null,
+ "name": "offer",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_price",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "max_price",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_area",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_bedrooms",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "cities",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "property_types",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source_id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "external_id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "offer",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "property_type",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "street",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "postal_code",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "city",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "city_slug",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "neighbourhood",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_eur",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area_m2",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rooms",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bedrooms",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bathrooms",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "construction_year",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "energy_label",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "interior",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "deposit_eur",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "available_from",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contract_type",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "agent",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "features",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lat",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lng",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "offered_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "first_seen_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'slow'",
+ "generated": null,
+ "identity": null,
+ "name": "first_seen_lane",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "last_seen_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "detail_fetched_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "removed_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "alerted_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "address_key",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "duplicate_of",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "total_price_eur",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "double precision",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_score",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_class",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_onv_class",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_level",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_precision",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_buurt_code",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_buurt_name",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_year",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_detail",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_query",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lbm_scored_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contact_status",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contact_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contact_by",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contact_note",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "contact_ref",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "viewing_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "listing_id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "price_history"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "observed_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "price_history"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_eur",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "price_history"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "search_url",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lane",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "first_synced_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "last_synced_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "last_found",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "searches"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "worker_runs_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lane",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "http_status",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "found",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "duration_ms",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "message",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'appointment'",
+ "generated": null,
+ "identity": null,
+ "name": "type",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "provider",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(5,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "weight_kg",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(5,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "waist_cm",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "body_fat_pct",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(5,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "muscle_mass_kg",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(5,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "skeletal_muscle_kg",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bone_mass_kg",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "visceral_fat",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "body_water_pct",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "protein_pct",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bmr_kcal",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "numeric(4,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bmi",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "measured_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'medication'",
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dose",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "frequency",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "start_date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "stop_date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kcal",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "numeric(5,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "protein_g",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "bedtime",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wake_time",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "numeric(4,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": {
+ "as": "round((extract(epoch from (wake_time - bedtime)) / 3600)::numeric, 2)",
+ "type": "stored"
+ },
+ "identity": null,
+ "name": "hours",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "vaccine",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "target",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dose_no",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "batch_lot",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "provider",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "gen_random_uuid()",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "date",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "uuid",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "session_id",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "exercise",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "sets",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "reps",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "numeric(6,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "load_kg",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "numeric(3,1)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rpe",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "path",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "format",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "size_bytes",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "sha256",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "md5",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "locator",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "page",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "highlight",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "color",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "locator",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "page",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "percent",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "started_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "finished_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "reading_status",
+ "typeSchema": "books",
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'want_to_read'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rating",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_read_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "started_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ended_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "start_percent",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "end_percent",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "start_page",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "end_page",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "pages_read",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'reader'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "shelf_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "added_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "kind",
+ "typeSchema": "books",
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'book'",
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "subtitle",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "authors",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "isbn10",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "isbn13",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "publisher",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "year",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "language",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "page_count",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "tags",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cover_url",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cover_path",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "openlibrary_work_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "openlibrary_edition_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "google_books_id",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "annas_md5",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "source_refs",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "metadata_status",
+ "typeSchema": "books",
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'pending'",
+ "generated": null,
+ "identity": null,
+ "name": "metadata_status",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metadata_source",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metadata_fetched_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "site_name",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "published_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "task_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "goal_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "from_status",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "to_status",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "numeric(14,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "value",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "color",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "archived_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'active'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "target_date",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metric",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metric_unit",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "numeric(14,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metric_target",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "numeric(14,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "metric_current",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "flagged",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "achieved_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'todo'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "priority",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "flagged",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "due_date",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "time",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "due_time",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "reminder_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "recurrence",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "goal_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "parent_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "tags",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "external_id",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "auto_handle",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "start_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "time_zone",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "started_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "completed_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "brand",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "family_key",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "favorite",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "manual",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "merged_into_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "item_count",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "store_count",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "store_ids",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_unit_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "min_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "promo_count",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "''",
+ "generated": null,
+ "identity": null,
+ "name": "search_text",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "store_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "started_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "finished_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'running'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "requests",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "fetched",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "inserted",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "price_changes",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "error",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "item_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "observed_on",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "promo_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "promo_label",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "store_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "store_product_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "brand",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "size_text",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "numeric(12,4)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit_amount",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit_source",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "promo_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "promo_label",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "promo_unit_price_cents",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category_path",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gtin",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gtin_checked_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "available",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "first_seen_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "last_seen_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "group_id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "match_key",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "match_method",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "match_confidence",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "match_locked",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "website",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "color",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "archived_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "title",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'links'",
+ "generated": null,
+ "identity": null,
+ "name": "section",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "snapshots"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "data",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "snapshots"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "collected_at",
+ "entityType": "columns",
+ "schema": "home",
+ "table": "snapshots"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "score",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "model_count",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "nl_count",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_file",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_author",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_license",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "brand_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "search",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "bodies",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "size_classes",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "fuels",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "drives",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "transmissions",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "engine_l_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "engine_l_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cylinders_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cylinders_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "turbo",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "power_kw_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "power_kw_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "l100_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "l100_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "co2_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "co2_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mpg_min",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mpg_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "range_km_max",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seats",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "doors",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mass_kg",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "nl_count",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_rank",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_first_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_last_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_price",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_price_latest",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_price_latest_year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'[]'",
+ "generated": null,
+ "identity": null,
+ "name": "nl_years",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'[]'",
+ "generated": null,
+ "identity": null,
+ "name": "nl_names",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "us_years",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "variant_count",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "photo_count",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photos_checked_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "caption",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "thumb",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "width",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "height",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "author",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license_url",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seen_on",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'fueleconomy.gov'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source_id",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "year",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "engine_l",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cylinders",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "transmission",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "drive",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "fuel",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "size_class",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mpg_city",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mpg_hwy",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mpg_comb",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "co2_gpm",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "range_mi",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ev_motor",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "turbo",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "supercharged",
+ "entityType": "columns",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "score",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "full_name",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "type_count",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_year",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_year",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "built_total",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_file",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_author",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_license",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "caption",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "thumb",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "width",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "height",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "author",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license_url",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seen_on",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "maker_id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "family_id",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "full_name",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "search",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "summary",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "role",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "roles",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "role_label",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_flight",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_flight_year",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "introduced_year",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "retired_year",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "in_service",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "number_built",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "makers",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "engine_type",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "engine_count",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "engines",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "crew",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "passengers",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "length_m",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wingspan_m",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "height_m",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "rotor_m",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mtow_kg",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "max_speed_kmh",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cruise_kmh",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "range_km",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ceiling_m",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wing",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gear",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "icao",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "recognize",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "photo_count",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photos_checked_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "species_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "score",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name_nl",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "emoji",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "species_count",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "nl_count",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "species_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "width",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "height",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "author",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "page_url",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "place",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "species_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seen_on",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "group_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "scientific_name",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name_en",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name_nl",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "search",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "inat_id",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gbif_key",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia_en",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia_nl",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "class_name",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "order_name",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "family_name",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "iucn",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_status",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_establishment",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "extinct",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "nl_obs",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "europe_obs",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "world_obs",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gbif_nl",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "scope",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "summary",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "summary_nl",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "facts",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mass_kg",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "length_m",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lifespan_years",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "named_year",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "named_by",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "photo_count",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photos_checked_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "area",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "score",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "full_name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "type_count",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_year",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_year",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "built_total",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_file",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_author",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_license",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "full_name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "type_count",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_file",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_author",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "logo_license",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "file",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "caption",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "thumb",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "width",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "height",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "author",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "license_url",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "seen_on",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "note",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "type_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "operator_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dex",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "maker_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "family_id",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "slug",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "full_name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nl_name",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "search",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikidata",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wikipedia",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "description",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "summary",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category_label",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "traction",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "country",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "countries",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "makers",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "operators",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "first_built",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_built",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "introduced_year",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "retired_year",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "in_service",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "number_built",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "max_speed_kmh",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "power_kw",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gauge",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "gauge_mm",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "electric_system",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "wheels",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "length_m",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "real",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "weight_t",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "capacity",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "formation",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "designer",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "nicknames",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "sources",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photo",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "photo_count",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "photos_checked_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "spotify_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "artist_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url_small",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "release_date",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "spotify_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "import_state"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "data",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "import_state"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "import_state"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "track_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "is_playing",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "progress_ms",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "device_name",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "device_type",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "context_uri",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "key",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "osu_match_cache"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "result",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "osu_match_cache"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "searched_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "osu_match_cache"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "track_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "played_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'spotify'",
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'api'",
+ "generated": null,
+ "identity": null,
+ "name": "origin",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "ms_played",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "context_type",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "context_uri",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "platform",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "spotify_user_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "display_name",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "refresh_token",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "access_token",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "access_expires_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "scope",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "recent_cursor",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "false",
+ "generated": null,
+ "identity": null,
+ "name": "needs_reauth",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lease_until",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "lease_holder",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_poll_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "last_error",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "connected_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "track_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "artist_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "type": "smallint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "0",
+ "generated": null,
+ "identity": null,
+ "name": "position",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "type": "serial",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "spotify_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "album_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "artist_id",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "duration_ms",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "explicit",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "match_key",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "components_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "device_id",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "category",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "brand",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "1",
+ "generated": null,
+ "identity": null,
+ "name": "quantity",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "specs",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "unit_price_cents",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "total_price_cents",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "shop",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "order_number",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "order_date",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "warranty_until",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "invoice_number",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'in_use'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "boolean",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "true",
+ "generated": null,
+ "identity": null,
+ "name": "verified",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "dpi",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "measured_dpi",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "source",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "devices_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "name",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "label",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 1,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "hostnames",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "kind",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'active'",
+ "generated": null,
+ "identity": null,
+ "name": "status",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "brand",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "model",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "jsonb",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "'{}'",
+ "generated": null,
+ "identity": null,
+ "name": "specs",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "price_cents",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "monthly_cents",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "budget_cents",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "shop",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "date",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "purchase_date",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "url",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "image_url",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "100",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": {
+ "type": "always",
+ "name": "sensitivities_id_seq",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "9223372036854775807",
+ "cache": 1,
+ "cycle": false
+ },
+ "name": "id",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "game",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "numeric(7,2)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "cm_per_360",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "numeric(10,6)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "yaw",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "numeric(10,4)",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "in_game_sens",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "bigint",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "mouse_id",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "fov",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "text",
+ "typeSchema": null,
+ "notNull": false,
+ "dimensions": 0,
+ "default": null,
+ "generated": null,
+ "identity": null,
+ "name": "notes",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "integer",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "100",
+ "generated": null,
+ "identity": null,
+ "name": "sort_order",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "created_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "type": "timestamp with time zone",
+ "typeSchema": null,
+ "notNull": true,
+ "dimensions": 0,
+ "default": "now()",
+ "generated": null,
+ "identity": null,
+ "name": "updated_at",
+ "entityType": "columns",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "account_userId_idx",
+ "entityType": "indexes",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "issuer",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "account_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "account_issuer_account_id_unique",
+ "entityType": "indexes",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "session_userId_idx",
+ "entityType": "indexes",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "identifier",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "verification_identifier_idx",
+ "entityType": "indexes",
+ "schema": "auth",
+ "table": "verification"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "pokemon_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_encounters_pokemon_id_game_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "location_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_encounters_location_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_evolutions_game_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_game_entries_game_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "catch_em_all_entries_user_id_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "catch_em_all_games_user_id_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tracker_items_game_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tracker_progress_user_id_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "kind",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "osu_entries_user_id_kind_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "pokemon_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_catches_user_id_game_id_pokemon_id_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "game_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_dex_numbers_game_id_index",
+ "entityType": "indexes",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "pokemon_seen_user_id_index",
+ "entityType": "indexes",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "table_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "columns_table_id_index",
+ "entityType": "indexes",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "schema_name",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "table_name",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "edit_log_table_at_index",
+ "entityType": "indexes",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "accounts_user_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "bank_sessions_user_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "forecasts_user_id_date_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "insurances_user_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "recurring_user_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "transactions_user_id_date_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "account_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "transactions_account_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "kind",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "utility_readings_user_id_kind_date_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ {
+ "value": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "wishlist_user_id_index",
+ "entityType": "indexes",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "key",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "value",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "item_dimensions_filter_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "market_hash_name",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "items_hash_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "name",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "items_name_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "currency",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "observed_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "kind",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "price_observations_unique_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "currency",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "observed_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "price_observations_lookup_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "observed_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "price_observations_time_idx",
+ "entityType": "indexes",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "source_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_source_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "offer",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "first_seen_at",
+ "isExpression": false,
+ "asc": false,
+ "nullsFirst": true,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": "removed_at IS NULL",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_active_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "offer",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "city_slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_city_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "first_seen_at",
+ "isExpression": false,
+ "asc": false,
+ "nullsFirst": true,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": "detail_fetched_at IS NULL",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_details_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "contact_status",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": "contact_status IS NOT NULL",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_contact_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "address_key",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": "address_key IS NOT NULL",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "listings_address_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "created_at",
+ "isExpression": false,
+ "asc": false,
+ "nullsFirst": true,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "worker_runs_created_idx",
+ "entityType": "indexes",
+ "schema": "house",
+ "table": "worker_runs"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "appointments_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "body_measurements_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "weight_kg",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "body_measurements_date_weight_key",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "measured_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "body_measurements_measured_at_key",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "start_date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "medications_start_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "stop_date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "medications_stop_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "vaccinations_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "workouts_date_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "session_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "workouts_session_idx",
+ "entityType": "indexes",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "path",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "files_path_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "sha256",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "files_sha256_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "work_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "files_work_id_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "work_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "notes_work_id_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "work_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "progress_work_id_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "status",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "progress_status_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "work_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "sessions_work_id_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "started_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "sessions_started_at_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "work_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "shelf_works_work_id_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "shelves_slug_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "shelves"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "url",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"url\" is not null",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "works_url_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "kind",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "works_kind_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "isbn13",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"isbn13\" is not null",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "works_isbn13_key",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "lower(\"title\")",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "works_title_idx",
+ "entityType": "indexes",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "task_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_task_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "goal_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_goal_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "areas_slug_key",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "lower(\"title\")",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "goals_title_key",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "area_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tasks_area_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "goal_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tasks_goal_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tasks_parent_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "status",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "due_date",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tasks_status_due_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "tags",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "tasks_tags_idx",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "external_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"external_id\" IS NOT NULL",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tasks_source_external_key",
+ "entityType": "indexes",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "key",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "groups_key_key",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "family_key",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "groups_family_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "category",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "groups_category_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "store_ids",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "groups_store_ids_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"search_text\" gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "groups_search_trgm_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "store_count",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "name",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "groups_list_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "store_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "started_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "import_runs_store_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "observed_on",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "item_prices_item_day_key",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "store_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "store_product_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "items_store_product_key",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "group_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "items_group_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "gtin",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "items_gtin_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"name\" gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "items_name_trgm_idx",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "stores_slug_key",
+ "entityType": "indexes",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "section",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "sort_order",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "links_sort_idx",
+ "entityType": "indexes",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "area",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "score",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_area_score_idx",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "brands_slug_key",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "brands"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "dex",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "models_dex_key",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "brand_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "models_brand_slug_key",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "nl_count",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "models_nl_count_idx",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"search\" public.gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "models_search_trgm_idx",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "model_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "position",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "photos_model_position_key",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "model_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "year",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "variants_model_year_idx",
+ "entityType": "indexes",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "area",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "score",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_area_score_idx",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "makers_slug_key",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "makers"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "type_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "position",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "photos_type_position_key",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "dex",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_dex_key",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "wikidata",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_wikidata_key",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "maker_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_maker_slug_key",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "number_built",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_number_built_idx",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "first_flight_year",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_first_flight_year_idx",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"search\" public.gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "types_search_trgm_idx",
+ "entityType": "indexes",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "area",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "score",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_area_score_idx",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "groups_slug_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "species_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "position",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "photos_species_position_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "species_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "photos_species_photo_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "dex",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "species_dex_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "inat_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "species_inat_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "species_slug_key",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "group_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "species_group_idx",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "nl_obs",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "species_nl_obs_idx",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"search\" public.gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "species_search_trgm_idx",
+ "entityType": "indexes",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "area",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "score",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "activity_area_score_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "makers_slug_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "makers"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "operators_slug_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "operators"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "type_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "position",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "photos_type_position_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "operator_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "type_operators_operator_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "dex",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_dex_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "wikidata",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_wikidata_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "maker_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_maker_slug_key",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "number_built",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_number_built_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "first_built",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_first_built_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "category",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "types_category_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "\"search\" public.gin_trgm_ops",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "types_search_trgm_idx",
+ "entityType": "indexes",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "spotify_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"spotify_id\" is not null",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "albums_spotify_id_key",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "lower(\"name\")",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "albums_name_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "spotify_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"spotify_id\" is not null",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "artists_spotify_id_key",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "lower(\"name\")",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "artists_name_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "artists"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "track_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "played_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "plays_dedupe_key",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "played_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "plays_played_at_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "source",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "played_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "plays_source_played_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "track_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ },
+ {
+ "value": "played_at",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "plays_track_played_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "artist_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "track_artists_artist_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "spotify_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": true,
+ "where": "\"spotify_id\" is not null",
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tracks_spotify_id_key",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "lower(\"name\")",
+ "isExpression": true,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tracks_name_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "match_key",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "tracks_match_key_idx",
+ "entityType": "indexes",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "device_id",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "components_device_idx",
+ "entityType": "indexes",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "category",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "btree",
+ "concurrently": false,
+ "name": "components_category_idx",
+ "entityType": "indexes",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ {
+ "value": "specs",
+ "isExpression": false,
+ "asc": true,
+ "nullsFirst": false,
+ "opclass": null
+ }
+ ],
+ "isUnique": false,
+ "where": null,
+ "with": "",
+ "method": "gin",
+ "concurrently": false,
+ "name": "components_specs_gin",
+ "entityType": "indexes",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "account_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "auth",
+ "table": "account"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "session_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "auth",
+ "table": "session"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "task_id"
+ ],
+ "schemaTo": "site",
+ "tableTo": "tasks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "task_topics_task_id_tasks_id_fkey",
+ "entityType": "fks",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "topic_id"
+ ],
+ "schemaTo": "site",
+ "tableTo": "topics",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "task_topics_topic_id_topics_id_fkey",
+ "entityType": "fks",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "catch_em_all_settings_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "catch_em_all_settings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_encounters_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_encounters_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "location_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_locations",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_encounters_location_id_pokemon_locations_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_encounters"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "from_pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_evolutions_from_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "to_pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_evolutions_to_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_evolutions_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_game_entries_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_game_entries_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_game_entry_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_game_entries",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "catch_em_all_entries_HeABXvGNiB6D_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "catch_em_all_entries_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "catch_em_all_games_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "catch_em_all_games_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_items_game_id_tracker_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_progress_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "item_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_items",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_progress_item_id_tracker_items_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "osu_entries_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_catches_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_catches_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_catches_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_dex_numbers_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_dex_numbers_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_game_research_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_game_research"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_journeys_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_journeys_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_learnsets_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_milestones_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_milestones_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_research_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "pokemon_research"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_seen_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_seen_game_id_pokemon_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "pokemon",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "pokemon_seen_pokemon_id_pokemon_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_challenge_progress_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "challenge_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_challenges",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_challenge_progress_HtzyFtOyUAhk_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_challenges_game_id_tracker_games_id_fkey",
+ "entityType": "fks",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_ranks_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_games",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_ranks_game_id_tracker_games_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_weapon_ranks_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "item_id"
+ ],
+ "schemaTo": "ref",
+ "tableTo": "tracker_items",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tracker_weapon_ranks_item_id_tracker_items_id_fkey",
+ "entityType": "fks",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "sighting_id"
+ ],
+ "schemaTo": "animaldex",
+ "tableTo": "sightings",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "sighting_photos_sighting_id_sightings_id_fkey",
+ "entityType": "fks",
+ "schema": "animaldex",
+ "table": "sighting_photos"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "animal_id"
+ ],
+ "schemaTo": "animaldex",
+ "tableTo": "animals",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "sightings_animal_id_animals_id_fkey",
+ "entityType": "fks",
+ "schema": "animaldex",
+ "table": "sightings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "table_id"
+ ],
+ "schemaTo": "meta",
+ "tableTo": "tables",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "columns_table_id_tables_id_fkey",
+ "entityType": "fks",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "accounts_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "bank_sessions_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "forecasts_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "account_id"
+ ],
+ "schemaTo": "money",
+ "tableTo": "accounts",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "forecasts_account_id_accounts_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "forecasts"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "insurances_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "projection_settings_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "investment_account_id"
+ ],
+ "schemaTo": "money",
+ "tableTo": "accounts",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "projection_settings_investment_account_id_accounts_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "recurring_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "account_id"
+ ],
+ "schemaTo": "money",
+ "tableTo": "accounts",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "recurring_account_id_accounts_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "transactions_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "account_id"
+ ],
+ "schemaTo": "money",
+ "tableTo": "accounts",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "NO ACTION",
+ "name": "transactions_account_id_accounts_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "utility_readings_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "utility_settings_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "schemaTo": "auth",
+ "tableTo": "user",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "wishlist_user_id_user_id_fkey",
+ "entityType": "fks",
+ "schema": "money",
+ "table": "wishlist"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "item_id"
+ ],
+ "schemaTo": "cs",
+ "tableTo": "items",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "item_dimensions_item_id_items_id_fkey",
+ "entityType": "fks",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "item_id"
+ ],
+ "schemaTo": "cs",
+ "tableTo": "items",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "price_observations_item_id_items_id_fkey",
+ "entityType": "fks",
+ "schema": "cs",
+ "table": "price_observations"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "duplicate_of"
+ ],
+ "schemaTo": "house",
+ "tableTo": "listings",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "listings_duplicate_of_listings_id_fkey",
+ "entityType": "fks",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "listing_id"
+ ],
+ "schemaTo": "house",
+ "tableTo": "listings",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "price_history_listing_id_listings_id_fkey",
+ "entityType": "fks",
+ "schema": "house",
+ "table": "price_history"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "work_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "works",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "files_work_id_works_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "files"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "work_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "works",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "notes_work_id_works_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "file_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "files",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "notes_file_id_files_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "notes"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "work_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "works",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "progress_work_id_works_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "file_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "files",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "progress_file_id_files_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "work_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "works",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "sessions_work_id_works_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "file_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "files",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "sessions_file_id_files_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "shelf_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "shelves",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "shelf_works_shelf_id_shelves_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "work_id"
+ ],
+ "schemaTo": "books",
+ "tableTo": "works",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "shelf_works_work_id_works_id_fkey",
+ "entityType": "fks",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "task_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "tasks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_task_id_tasks_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "goal_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "goals",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_goal_id_goals_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "area_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "areas",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "goals_area_id_areas_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "area_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "areas",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "tasks_area_id_areas_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "goal_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "goals",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "tasks_goal_id_goals_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "parent_id"
+ ],
+ "schemaTo": "tasks",
+ "tableTo": "tasks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "tasks_parent_id_tasks_id_fkey",
+ "entityType": "fks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "merged_into_id"
+ ],
+ "schemaTo": "groceries",
+ "tableTo": "groups",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "groups_merged_into_id_groups_id_fkey",
+ "entityType": "fks",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "store_id"
+ ],
+ "schemaTo": "groceries",
+ "tableTo": "stores",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "import_runs_store_id_stores_id_fkey",
+ "entityType": "fks",
+ "schema": "groceries",
+ "table": "import_runs"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "item_id"
+ ],
+ "schemaTo": "groceries",
+ "tableTo": "items",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "item_prices_item_id_items_id_fkey",
+ "entityType": "fks",
+ "schema": "groceries",
+ "table": "item_prices"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "store_id"
+ ],
+ "schemaTo": "groceries",
+ "tableTo": "stores",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "items_store_id_stores_id_fkey",
+ "entityType": "fks",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "group_id"
+ ],
+ "schemaTo": "groceries",
+ "tableTo": "groups",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "items_group_id_groups_id_fkey",
+ "entityType": "fks",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "model_id"
+ ],
+ "schemaTo": "cars",
+ "tableTo": "models",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_model_id_models_id_fkey",
+ "entityType": "fks",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "brand_id"
+ ],
+ "schemaTo": "cars",
+ "tableTo": "brands",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "models_brand_id_brands_id_fkey",
+ "entityType": "fks",
+ "schema": "cars",
+ "table": "models"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "model_id"
+ ],
+ "schemaTo": "cars",
+ "tableTo": "models",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "photos_model_id_models_id_fkey",
+ "entityType": "fks",
+ "schema": "cars",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "model_id"
+ ],
+ "schemaTo": "cars",
+ "tableTo": "models",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "seen_model_id_models_id_fkey",
+ "entityType": "fks",
+ "schema": "cars",
+ "table": "seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "model_id"
+ ],
+ "schemaTo": "cars",
+ "tableTo": "models",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "variants_model_id_models_id_fkey",
+ "entityType": "fks",
+ "schema": "cars",
+ "table": "variants"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "planes",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "planes",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "photos_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "planes",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "planes",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "seen_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "planes",
+ "table": "seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "maker_id"
+ ],
+ "schemaTo": "planes",
+ "tableTo": "makers",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "types_maker_id_makers_id_fkey",
+ "entityType": "fks",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "family_id"
+ ],
+ "schemaTo": "planes",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "types_family_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "planes",
+ "table": "types"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "species_id"
+ ],
+ "schemaTo": "wildlife",
+ "tableTo": "species",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_species_id_species_id_fkey",
+ "entityType": "fks",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "species_id"
+ ],
+ "schemaTo": "wildlife",
+ "tableTo": "species",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "photos_species_id_species_id_fkey",
+ "entityType": "fks",
+ "schema": "wildlife",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "species_id"
+ ],
+ "schemaTo": "wildlife",
+ "tableTo": "species",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "seen_species_id_species_id_fkey",
+ "entityType": "fks",
+ "schema": "wildlife",
+ "table": "seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "group_id"
+ ],
+ "schemaTo": "wildlife",
+ "tableTo": "groups",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "species_group_id_groups_id_fkey",
+ "entityType": "fks",
+ "schema": "wildlife",
+ "table": "species"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "activity_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "photos_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "photos"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "seen_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "type_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "type_operators_type_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "operator_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "operators",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "type_operators_operator_id_operators_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "maker_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "makers",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "types_maker_id_makers_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "family_id"
+ ],
+ "schemaTo": "trains",
+ "tableTo": "types",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "types_family_id_types_id_fkey",
+ "entityType": "fks",
+ "schema": "trains",
+ "table": "types"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "artist_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "artists",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "albums_artist_id_artists_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "albums"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "track_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "tracks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "now_playing_track_id_tracks_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "track_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "tracks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "plays_track_id_tracks_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "track_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "tracks",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "track_artists_track_id_tracks_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "artist_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "artists",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "track_artists_artist_id_artists_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "album_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "albums",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "tracks_album_id_albums_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "artist_id"
+ ],
+ "schemaTo": "music",
+ "tableTo": "artists",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "tracks_artist_id_artists_id_fkey",
+ "entityType": "fks",
+ "schema": "music",
+ "table": "tracks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "device_id"
+ ],
+ "schemaTo": "hardware",
+ "tableTo": "devices",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "CASCADE",
+ "name": "components_device_id_devices_id_fkey",
+ "entityType": "fks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "mouse_id"
+ ],
+ "schemaTo": "hardware",
+ "tableTo": "components",
+ "columnsTo": [
+ "id"
+ ],
+ "onUpdate": "NO ACTION",
+ "onDelete": "SET NULL",
+ "name": "sensitivities_mouse_id_components_id_fkey",
+ "entityType": "fks",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "columns": [
+ "item_id",
+ "key"
+ ],
+ "nameExplicit": true,
+ "name": "item_dimensions_pkey",
+ "entityType": "pks",
+ "schema": "cs",
+ "table": "item_dimensions"
+ },
+ {
+ "columns": [
+ "source",
+ "currency",
+ "kind"
+ ],
+ "nameExplicit": true,
+ "name": "price_streams_pkey",
+ "entityType": "pks",
+ "schema": "cs",
+ "table": "price_streams"
+ },
+ {
+ "columns": [
+ "listing_id",
+ "observed_at"
+ ],
+ "nameExplicit": true,
+ "name": "price_history_pkey",
+ "entityType": "pks",
+ "schema": "house",
+ "table": "price_history"
+ },
+ {
+ "columns": [
+ "shelf_id",
+ "work_id"
+ ],
+ "nameExplicit": false,
+ "name": "shelf_works_pkey",
+ "entityType": "pks",
+ "schema": "books",
+ "table": "shelf_works"
+ },
+ {
+ "columns": [
+ "area",
+ "model_id"
+ ],
+ "nameExplicit": false,
+ "name": "activity_pkey",
+ "entityType": "pks",
+ "schema": "cars",
+ "table": "activity"
+ },
+ {
+ "columns": [
+ "area",
+ "type_id"
+ ],
+ "nameExplicit": false,
+ "name": "activity_pkey",
+ "entityType": "pks",
+ "schema": "planes",
+ "table": "activity"
+ },
+ {
+ "columns": [
+ "area",
+ "species_id"
+ ],
+ "nameExplicit": false,
+ "name": "activity_pkey",
+ "entityType": "pks",
+ "schema": "wildlife",
+ "table": "activity"
+ },
+ {
+ "columns": [
+ "area",
+ "type_id"
+ ],
+ "nameExplicit": false,
+ "name": "activity_pkey",
+ "entityType": "pks",
+ "schema": "trains",
+ "table": "activity"
+ },
+ {
+ "columns": [
+ "type_id",
+ "operator_id"
+ ],
+ "nameExplicit": false,
+ "name": "type_operators_pkey",
+ "entityType": "pks",
+ "schema": "trains",
+ "table": "type_operators"
+ },
+ {
+ "columns": [
+ "track_id",
+ "artist_id"
+ ],
+ "nameExplicit": false,
+ "name": "track_artists_pkey",
+ "entityType": "pks",
+ "schema": "music",
+ "table": "track_artists"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "account_pkey",
+ "schema": "auth",
+ "table": "account",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "session_pkey",
+ "schema": "auth",
+ "table": "session",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "user_pkey",
+ "schema": "auth",
+ "table": "user",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "verification_pkey",
+ "schema": "auth",
+ "table": "verification",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "blog_articles_pkey",
+ "schema": "site",
+ "table": "blog_articles",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tasks_pkey",
+ "schema": "site",
+ "table": "tasks",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "task_topics_pkey",
+ "schema": "site",
+ "table": "task_topics",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "topics_pkey",
+ "schema": "site",
+ "table": "topics",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "catch_em_all_settings_pkey",
+ "schema": "games",
+ "table": "catch_em_all_settings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_games_pkey",
+ "schema": "ref",
+ "table": "pokemon_games",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_pkey",
+ "schema": "ref",
+ "table": "pokemon",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_encounters_pkey",
+ "schema": "ref",
+ "table": "pokemon_encounters",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_evolutions_pkey",
+ "schema": "ref",
+ "table": "pokemon_evolutions",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_game_entries_pkey",
+ "schema": "ref",
+ "table": "pokemon_game_entries",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_locations_pkey",
+ "schema": "ref",
+ "table": "pokemon_locations",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "catch_em_all_entries_pkey",
+ "schema": "games",
+ "table": "catch_em_all_entries",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "catch_em_all_games_pkey",
+ "schema": "games",
+ "table": "catch_em_all_games",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_games_pkey",
+ "schema": "ref",
+ "table": "tracker_games",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_items_pkey",
+ "schema": "ref",
+ "table": "tracker_items",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_progress_pkey",
+ "schema": "games",
+ "table": "tracker_progress",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "osu_entries_pkey",
+ "schema": "games",
+ "table": "osu_entries",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_catches_pkey",
+ "schema": "games",
+ "table": "pokemon_catches",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_dex_numbers_pkey",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "game_id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_game_research_pkey",
+ "schema": "ref",
+ "table": "pokemon_game_research",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_journeys_pkey",
+ "schema": "games",
+ "table": "pokemon_journeys",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_learnsets_pkey",
+ "schema": "ref",
+ "table": "pokemon_learnsets",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_milestones_pkey",
+ "schema": "games",
+ "table": "pokemon_milestones",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_moves_pkey",
+ "schema": "ref",
+ "table": "pokemon_moves",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "pokemon_id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_research_pkey",
+ "schema": "ref",
+ "table": "pokemon_research",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "pokemon_seen_pkey",
+ "schema": "games",
+ "table": "pokemon_seen",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_challenge_progress_pkey",
+ "schema": "games",
+ "table": "tracker_challenge_progress",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_challenges_pkey",
+ "schema": "ref",
+ "table": "tracker_challenges",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_ranks_pkey",
+ "schema": "games",
+ "table": "tracker_ranks",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracker_weapon_ranks_pkey",
+ "schema": "games",
+ "table": "tracker_weapon_ranks",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "animals_pkey",
+ "schema": "animaldex",
+ "table": "animals",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "sighting_photos_pkey",
+ "schema": "animaldex",
+ "table": "sighting_photos",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "sightings_pkey",
+ "schema": "animaldex",
+ "table": "sightings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "columns_pkey",
+ "schema": "meta",
+ "table": "columns",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "edit_log_pkey",
+ "schema": "meta",
+ "table": "edit_log",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tables_pkey",
+ "schema": "meta",
+ "table": "tables",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "accounts_pkey",
+ "schema": "money",
+ "table": "accounts",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "bank_sessions_pkey",
+ "schema": "money",
+ "table": "bank_sessions",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "forecasts_pkey",
+ "schema": "money",
+ "table": "forecasts",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "insurances_pkey",
+ "schema": "money",
+ "table": "insurances",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "projection_settings_pkey",
+ "schema": "money",
+ "table": "projection_settings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "recurring_pkey",
+ "schema": "money",
+ "table": "recurring",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "transactions_pkey",
+ "schema": "money",
+ "table": "transactions",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "utility_readings_pkey",
+ "schema": "money",
+ "table": "utility_readings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "utility_settings_pkey",
+ "schema": "money",
+ "table": "utility_settings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "wishlist_pkey",
+ "schema": "money",
+ "table": "wishlist",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "items_pkey",
+ "schema": "cs",
+ "table": "items",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "price_observations_pkey",
+ "schema": "cs",
+ "table": "price_observations",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "alert_rules_pkey",
+ "schema": "house",
+ "table": "alert_rules",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "listings_pkey",
+ "schema": "house",
+ "table": "listings",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "search_url"
+ ],
+ "nameExplicit": false,
+ "name": "searches_pkey",
+ "schema": "house",
+ "table": "searches",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "worker_runs_pkey",
+ "schema": "house",
+ "table": "worker_runs",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "appointments_pkey",
+ "schema": "health",
+ "table": "appointments",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "body_measurements_pkey",
+ "schema": "health",
+ "table": "body_measurements",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "medications_pkey",
+ "schema": "health",
+ "table": "medications",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "nutrition_daily_pkey",
+ "schema": "health",
+ "table": "nutrition_daily",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "sleep_pkey",
+ "schema": "health",
+ "table": "sleep",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "vaccinations_pkey",
+ "schema": "health",
+ "table": "vaccinations",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "workouts_pkey",
+ "schema": "health",
+ "table": "workouts",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "files_pkey",
+ "schema": "books",
+ "table": "files",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "notes_pkey",
+ "schema": "books",
+ "table": "notes",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "progress_pkey",
+ "schema": "books",
+ "table": "progress",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "sessions_pkey",
+ "schema": "books",
+ "table": "sessions",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "shelves_pkey",
+ "schema": "books",
+ "table": "shelves",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "works_pkey",
+ "schema": "books",
+ "table": "works",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "activity_pkey",
+ "schema": "tasks",
+ "table": "activity",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "areas_pkey",
+ "schema": "tasks",
+ "table": "areas",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "goals_pkey",
+ "schema": "tasks",
+ "table": "goals",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tasks_pkey",
+ "schema": "tasks",
+ "table": "tasks",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "groups_pkey",
+ "schema": "groceries",
+ "table": "groups",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "import_runs_pkey",
+ "schema": "groceries",
+ "table": "import_runs",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "item_prices_pkey",
+ "schema": "groceries",
+ "table": "item_prices",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "items_pkey",
+ "schema": "groceries",
+ "table": "items",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "stores_pkey",
+ "schema": "groceries",
+ "table": "stores",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "links_pkey",
+ "schema": "home",
+ "table": "links",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "key"
+ ],
+ "nameExplicit": false,
+ "name": "snapshots_pkey",
+ "schema": "home",
+ "table": "snapshots",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "brands_pkey",
+ "schema": "cars",
+ "table": "brands",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "models_pkey",
+ "schema": "cars",
+ "table": "models",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "photos_pkey",
+ "schema": "cars",
+ "table": "photos",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "model_id"
+ ],
+ "nameExplicit": false,
+ "name": "seen_pkey",
+ "schema": "cars",
+ "table": "seen",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "variants_pkey",
+ "schema": "cars",
+ "table": "variants",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "makers_pkey",
+ "schema": "planes",
+ "table": "makers",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "photos_pkey",
+ "schema": "planes",
+ "table": "photos",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "type_id"
+ ],
+ "nameExplicit": false,
+ "name": "seen_pkey",
+ "schema": "planes",
+ "table": "seen",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "types_pkey",
+ "schema": "planes",
+ "table": "types",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "groups_pkey",
+ "schema": "wildlife",
+ "table": "groups",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "photos_pkey",
+ "schema": "wildlife",
+ "table": "photos",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "species_id"
+ ],
+ "nameExplicit": false,
+ "name": "seen_pkey",
+ "schema": "wildlife",
+ "table": "seen",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "species_pkey",
+ "schema": "wildlife",
+ "table": "species",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "makers_pkey",
+ "schema": "trains",
+ "table": "makers",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "operators_pkey",
+ "schema": "trains",
+ "table": "operators",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "photos_pkey",
+ "schema": "trains",
+ "table": "photos",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "type_id"
+ ],
+ "nameExplicit": false,
+ "name": "seen_pkey",
+ "schema": "trains",
+ "table": "seen",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "types_pkey",
+ "schema": "trains",
+ "table": "types",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "albums_pkey",
+ "schema": "music",
+ "table": "albums",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "artists_pkey",
+ "schema": "music",
+ "table": "artists",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "key"
+ ],
+ "nameExplicit": false,
+ "name": "import_state_pkey",
+ "schema": "music",
+ "table": "import_state",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "now_playing_pkey",
+ "schema": "music",
+ "table": "now_playing",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "key"
+ ],
+ "nameExplicit": false,
+ "name": "osu_match_cache_pkey",
+ "schema": "music",
+ "table": "osu_match_cache",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "plays_pkey",
+ "schema": "music",
+ "table": "plays",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "spotify_auth_pkey",
+ "schema": "music",
+ "table": "spotify_auth",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "tracks_pkey",
+ "schema": "music",
+ "table": "tracks",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "components_pkey",
+ "schema": "hardware",
+ "table": "components",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "devices_pkey",
+ "schema": "hardware",
+ "table": "devices",
+ "entityType": "pks"
+ },
+ {
+ "columns": [
+ "id"
+ ],
+ "nameExplicit": false,
+ "name": "sensitivities_pkey",
+ "schema": "hardware",
+ "table": "sensitivities",
+ "entityType": "pks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "slug"
+ ],
+ "nullsNotDistinct": false,
+ "name": "blog_articles_slug_unique",
+ "entityType": "uniques",
+ "schema": "site",
+ "table": "blog_articles"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "task_id",
+ "topic_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "task_topics_task_id_topic_id_unique",
+ "entityType": "uniques",
+ "schema": "site",
+ "table": "task_topics"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "from_pokemon_id",
+ "to_pokemon_id",
+ "game_id",
+ "method"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_evolutions_from_pokemon_id_to_pokemon_id_game_id_method_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "pokemon_evolutions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id",
+ "game_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_game_entries_pokemon_id_game_id_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "pokemon_game_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_game_entry_id",
+ "user_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "catch_em_all_entries_pokemon_game_entry_id_user_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "catch_em_all_entries"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "catch_em_all_games_user_id_game_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "catch_em_all_games"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id",
+ "key"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_items_game_id_key_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "tracker_items"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "item_id",
+ "milestone"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_progress_user_id_item_id_milestone_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "tracker_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id",
+ "party_slot"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_catches_user_id_game_id_party_slot_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id",
+ "game_id",
+ "dex"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_dex_numbers_pokemon_id_game_id_dex_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "pokemon_dex_numbers"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_journeys_user_id_game_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "pokemon_id",
+ "version_group"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_learnsets_pokemon_id_version_group_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "pokemon_learnsets"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id",
+ "key"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_milestones_user_id_game_id_key_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "pokemon_milestones"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id",
+ "pokemon_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_seen_user_id_game_id_pokemon_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "pokemon_seen"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "challenge_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_challenge_progress_user_id_challenge_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game_id",
+ "key"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_challenges_game_id_key_unique",
+ "entityType": "uniques",
+ "schema": "ref",
+ "table": "tracker_challenges"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "game_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_ranks_user_id_game_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "item_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_weapon_ranks_user_id_item_id_unique",
+ "entityType": "uniques",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "table_id",
+ "column_name"
+ ],
+ "nullsNotDistinct": false,
+ "name": "columns_table_id_column_name_key",
+ "entityType": "uniques",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "schema_name",
+ "table_name"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tables_schema_name_table_name_key",
+ "entityType": "uniques",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "name"
+ ],
+ "nullsNotDistinct": false,
+ "name": "accounts_user_id_name_unique",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "external_uid"
+ ],
+ "nullsNotDistinct": false,
+ "name": "accounts_external_uid_key",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "session_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "bank_sessions_session_id_key",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "projection_settings_user_id_unique",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "account_id",
+ "external_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "transactions_account_external_id_key",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id",
+ "kind"
+ ],
+ "nullsNotDistinct": false,
+ "name": "utility_settings_user_id_kind_unique",
+ "entityType": "uniques",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "device_id",
+ "model",
+ "order_number"
+ ],
+ "nullsNotDistinct": true,
+ "name": "components_dedupe_uq",
+ "entityType": "uniques",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "token"
+ ],
+ "nullsNotDistinct": false,
+ "name": "session_token_key",
+ "schema": "auth",
+ "table": "session",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "email"
+ ],
+ "nullsNotDistinct": false,
+ "name": "user_email_key",
+ "schema": "auth",
+ "table": "user",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "user_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "catch_em_all_settings_user_id_key",
+ "schema": "games",
+ "table": "catch_em_all_settings",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "source_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_games_source_id_key",
+ "schema": "ref",
+ "table": "pokemon_games",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "slug"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_games_slug_key",
+ "schema": "ref",
+ "table": "pokemon_games",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "number"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_number_key",
+ "schema": "ref",
+ "table": "pokemon",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "source_id"
+ ],
+ "nullsNotDistinct": false,
+ "name": "pokemon_locations_source_id_key",
+ "schema": "ref",
+ "table": "pokemon_locations",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "slug"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tracker_games_slug_key",
+ "schema": "ref",
+ "table": "tracker_games",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "slug"
+ ],
+ "nullsNotDistinct": false,
+ "name": "tables_slug_key",
+ "schema": "meta",
+ "table": "tables",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "date"
+ ],
+ "nullsNotDistinct": false,
+ "name": "nutrition_daily_date_key",
+ "schema": "health",
+ "table": "nutrition_daily",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": true,
+ "columns": [
+ "date"
+ ],
+ "nullsNotDistinct": false,
+ "name": "sleep_date_key",
+ "schema": "health",
+ "table": "sleep",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "name"
+ ],
+ "nullsNotDistinct": false,
+ "name": "devices_name_key",
+ "schema": "hardware",
+ "table": "devices",
+ "entityType": "uniques"
+ },
+ {
+ "nameExplicit": false,
+ "columns": [
+ "game"
+ ],
+ "nullsNotDistinct": false,
+ "name": "sensitivities_game_key",
+ "schema": "hardware",
+ "table": "sensitivities",
+ "entityType": "uniques"
+ },
+ {
+ "value": "\"kind\" IN ('score','goal','training')",
+ "name": "osu_entries_kind_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "osu_entries"
+ },
+ {
+ "value": "\"level\" between 1 and 100",
+ "name": "pokemon_catches_level_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "value": "\"party_slot\" between 1 and 6",
+ "name": "pokemon_catches_party_slot_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "value": "cardinality(\"moves\") <= 4",
+ "name": "pokemon_catches_moves_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "value": "\"stage\" IN ('story','postgame','collection')",
+ "name": "pokemon_catches_stage_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "pokemon_catches"
+ },
+ {
+ "value": "\"stage\" IN ('story','postgame','collection')",
+ "name": "pokemon_journeys_stage_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "pokemon_journeys"
+ },
+ {
+ "value": "\"current\" >= 0",
+ "name": "tracker_challenge_progress_current_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "tracker_challenge_progress"
+ },
+ {
+ "value": "\"level\" between 1 and 10000",
+ "name": "tracker_ranks_level_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "value": "\"prestige\" between 0 and 1000",
+ "name": "tracker_ranks_prestige_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "tracker_ranks"
+ },
+ {
+ "value": "\"level\" between 1 and 10000",
+ "name": "tracker_weapon_ranks_level_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "value": "\"prestige\" between 0 and 1000",
+ "name": "tracker_weapon_ranks_prestige_check",
+ "entityType": "checks",
+ "schema": "games",
+ "table": "tracker_weapon_ranks"
+ },
+ {
+ "value": "ui_type IN ('text','longtext','url','image','number','cents','date','datetime','bool','select','multiselect','fk','json')",
+ "name": "columns_ui_type_check",
+ "entityType": "checks",
+ "schema": "meta",
+ "table": "columns"
+ },
+ {
+ "value": "action IN ('insert','update','delete','import','add_column')",
+ "name": "edit_log_action_check",
+ "entityType": "checks",
+ "schema": "meta",
+ "table": "edit_log"
+ },
+ {
+ "value": "slug ~ '^[a-z0-9][a-z0-9-]{0,62}$'",
+ "name": "tables_slug_check",
+ "entityType": "checks",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "value": "kind IN ('list','core','ref')",
+ "name": "tables_kind_check",
+ "entityType": "checks",
+ "schema": "meta",
+ "table": "tables"
+ },
+ {
+ "value": "kind IN ('spendable','investment')",
+ "name": "accounts_kind_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "value": "scope IN ('personal','joint')",
+ "name": "accounts_scope_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "value": "provider IN ('manual','enablebanking')",
+ "name": "accounts_provider_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "accounts"
+ },
+ {
+ "value": "status IN ('authorized','expired','revoked','error')",
+ "name": "bank_sessions_status_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "bank_sessions"
+ },
+ {
+ "value": "cadence IN ('weekly','monthly','yearly')",
+ "name": "insurances_cadence_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "insurances"
+ },
+ {
+ "value": "contribution_mode IN ('excess','fixed')",
+ "name": "projection_settings_contribution_mode_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "projection_settings"
+ },
+ {
+ "value": "cadence IN ('weekly','monthly','yearly')",
+ "name": "recurring_cadence_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "recurring"
+ },
+ {
+ "value": "source IN ('manual','csv','enablebanking')",
+ "name": "transactions_source_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "transactions"
+ },
+ {
+ "value": "kind IN ('electricity','gas','water')",
+ "name": "utility_readings_kind_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "utility_readings"
+ },
+ {
+ "value": "kind IN ('electricity','gas','water')",
+ "name": "utility_settings_kind_check",
+ "entityType": "checks",
+ "schema": "money",
+ "table": "utility_settings"
+ },
+ {
+ "value": "offer IN ('rent', 'buy')",
+ "name": "alert_rules_offer_check",
+ "entityType": "checks",
+ "schema": "house",
+ "table": "alert_rules"
+ },
+ {
+ "value": "offer IN ('rent', 'buy')",
+ "name": "listings_offer_check",
+ "entityType": "checks",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "value": "price_eur IS NULL OR price_eur >= 0",
+ "name": "listings_price_eur_check",
+ "entityType": "checks",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "value": "contact_status IS NULL OR contact_status IN ('waiting_on_me', 'not_contacted', 'waiting_on_them', 'viewing', 'closed')",
+ "name": "listings_contact_status_check",
+ "entityType": "checks",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "value": "contact_by IS NULL OR contact_by IN ('me', 'them')",
+ "name": "listings_contact_by_check",
+ "entityType": "checks",
+ "schema": "house",
+ "table": "listings"
+ },
+ {
+ "value": "\"type\" IN ('appointment','checkup','condition','test','procedure','other')",
+ "name": "appointments_type_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "appointments_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "appointments"
+ },
+ {
+ "value": "\"weight_kg\" IS NOT NULL OR \"waist_cm\" IS NOT NULL OR \"body_fat_pct\" IS NOT NULL",
+ "name": "body_measurements_any_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "\"weight_kg\" IS NULL OR \"weight_kg\" BETWEEN 20 AND 400",
+ "name": "body_measurements_weight_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "\"waist_cm\" IS NULL OR \"waist_cm\" BETWEEN 30 AND 250",
+ "name": "body_measurements_waist_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "\"body_fat_pct\" IS NULL OR \"body_fat_pct\" BETWEEN 1 AND 75",
+ "name": "body_measurements_fat_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "(\"muscle_mass_kg\" IS NULL OR \"muscle_mass_kg\" BETWEEN 5 AND 250)\n\t\t\tAND (\"skeletal_muscle_kg\" IS NULL OR \"skeletal_muscle_kg\" BETWEEN 5 AND 200)\n\t\t\tAND (\"bone_mass_kg\" IS NULL OR \"bone_mass_kg\" BETWEEN 0.5 AND 20)\n\t\t\tAND (\"visceral_fat\" IS NULL OR \"visceral_fat\" BETWEEN 1 AND 60)\n\t\t\tAND (\"body_water_pct\" IS NULL OR \"body_water_pct\" BETWEEN 20 AND 85)\n\t\t\tAND (\"protein_pct\" IS NULL OR \"protein_pct\" BETWEEN 5 AND 40)\n\t\t\tAND (\"bmr_kcal\" IS NULL OR \"bmr_kcal\" BETWEEN 500 AND 6000)\n\t\t\tAND (\"bmi\" IS NULL OR \"bmi\" BETWEEN 10 AND 80)",
+ "name": "body_measurements_scale_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "body_measurements_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "body_measurements"
+ },
+ {
+ "value": "length(btrim(\"name\")) > 0",
+ "name": "medications_name_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "value": "\"kind\" IN ('medication','supplement')",
+ "name": "medications_kind_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "value": "\"stop_date\" IS NULL OR \"start_date\" IS NULL OR \"stop_date\" >= \"start_date\"",
+ "name": "medications_dates_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "medications"
+ },
+ {
+ "value": "\"kcal\" IS NULL OR \"kcal\" BETWEEN 0 AND 20000",
+ "name": "nutrition_daily_kcal_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "value": "\"protein_g\" IS NULL OR \"protein_g\" BETWEEN 0 AND 1000",
+ "name": "nutrition_daily_protein_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "nutrition_daily_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "nutrition_daily"
+ },
+ {
+ "value": "\"wake_time\" > \"bedtime\"",
+ "name": "sleep_order_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "value": "\"wake_time\" - \"bedtime\" <= interval '24 hours'",
+ "name": "sleep_length_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "sleep_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "sleep"
+ },
+ {
+ "value": "length(btrim(\"vaccine\")) > 0",
+ "name": "vaccinations_vaccine_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "value": "\"dose_no\" IS NULL OR \"dose_no\" BETWEEN 1 AND 20",
+ "name": "vaccinations_dose_no_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "value": "\"country\" IS NULL OR \"country\" ~ '^[A-Z]{2}$'",
+ "name": "vaccinations_country_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "vaccinations_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "vaccinations"
+ },
+ {
+ "value": "length(btrim(\"exercise\")) > 0",
+ "name": "workouts_exercise_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"sets\" IS NULL OR \"sets\" BETWEEN 1 AND 100",
+ "name": "workouts_sets_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"reps\" IS NULL OR \"reps\" BETWEEN 0 AND 1000",
+ "name": "workouts_reps_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"load_kg\" IS NULL OR \"load_kg\" BETWEEN 0 AND 1000",
+ "name": "workouts_load_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"rpe\" IS NULL OR \"rpe\" BETWEEN 1 AND 10",
+ "name": "workouts_rpe_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"date\" >= DATE '1900-01-01'",
+ "name": "workouts_date_check",
+ "entityType": "checks",
+ "schema": "health",
+ "table": "workouts"
+ },
+ {
+ "value": "\"percent\" between 0 and 100",
+ "name": "progress_percent_check",
+ "entityType": "checks",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "value": "\"rating\" is null or \"rating\" between 1 and 5",
+ "name": "progress_rating_check",
+ "entityType": "checks",
+ "schema": "books",
+ "table": "progress"
+ },
+ {
+ "value": "(\"start_percent\" is null or \"start_percent\" between 0 and 100) and (\"end_percent\" is null or \"end_percent\" between 0 and 100)",
+ "name": "sessions_percent_check",
+ "entityType": "checks",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "value": "\"ended_at\" is null or \"ended_at\" >= \"started_at\"",
+ "name": "sessions_end_check",
+ "entityType": "checks",
+ "schema": "books",
+ "table": "sessions"
+ },
+ {
+ "value": "\"year\" is null or \"year\" between 0 and 2100",
+ "name": "works_year_check",
+ "entityType": "checks",
+ "schema": "books",
+ "table": "works"
+ },
+ {
+ "value": "\"task_id\" IS NOT NULL OR \"goal_id\" IS NOT NULL",
+ "name": "activity_target_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "value": "\"kind\" IN ('created','status','edit','note','progress')",
+ "name": "activity_kind_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "activity"
+ },
+ {
+ "value": "\"slug\" ~ '^[a-z0-9][a-z0-9-]{0,62}$'",
+ "name": "areas_slug_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "value": "length(btrim(\"name\")) > 0",
+ "name": "areas_name_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "areas"
+ },
+ {
+ "value": "length(btrim(\"title\")) > 0",
+ "name": "goals_title_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "value": "\"status\" IN ('active','achieved','dropped')",
+ "name": "goals_status_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "goals"
+ },
+ {
+ "value": "length(btrim(\"title\")) > 0",
+ "name": "tasks_title_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "value": "\"status\" IN ('todo','in_progress','done','dropped')",
+ "name": "tasks_status_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "value": "\"priority\" BETWEEN 0 AND 3",
+ "name": "tasks_priority_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "value": "\"parent_id\" IS NULL OR \"parent_id\" <> \"id\"",
+ "name": "tasks_parent_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "value": "\"due_time\" IS NULL OR \"due_date\" IS NOT NULL",
+ "name": "tasks_time_check",
+ "entityType": "checks",
+ "schema": "tasks",
+ "table": "tasks"
+ },
+ {
+ "value": "length(btrim(\"name\")) > 0",
+ "name": "groups_name_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "value": "\"unit\" IS NULL OR \"unit\" IN ('piece','kg','l')",
+ "name": "groups_unit_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "value": "\"merged_into_id\" IS NULL OR \"merged_into_id\" <> \"id\"",
+ "name": "groups_not_self_merged",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "groups"
+ },
+ {
+ "value": "\"unit\" IS NULL OR \"unit\" IN ('piece','kg','l')",
+ "name": "items_unit_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "value": "\"price_cents\" IS NULL OR \"price_cents\" >= 0",
+ "name": "items_price_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "items"
+ },
+ {
+ "value": "\"slug\" ~ '^[a-z0-9][a-z0-9-]{0,62}$'",
+ "name": "stores_slug_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "value": "length(btrim(\"name\")) > 0",
+ "name": "stores_name_check",
+ "entityType": "checks",
+ "schema": "groceries",
+ "table": "stores"
+ },
+ {
+ "value": "length(btrim(\"title\")) between 1 and 80",
+ "name": "links_title_check",
+ "entityType": "checks",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "value": "\"url\" ~ '^https?://' and length(\"url\") <= 2000",
+ "name": "links_url_check",
+ "entityType": "checks",
+ "schema": "home",
+ "table": "links"
+ },
+ {
+ "value": "\"id\" = 1",
+ "name": "now_playing_single_row",
+ "entityType": "checks",
+ "schema": "music",
+ "table": "now_playing"
+ },
+ {
+ "value": "\"source\" in ('spotify', 'lastfm', 'youtube', 'local')",
+ "name": "plays_source_check",
+ "entityType": "checks",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "value": "\"origin\" in ('api', 'export', 'import', 'manual', 'nowplaying')",
+ "name": "plays_origin_check",
+ "entityType": "checks",
+ "schema": "music",
+ "table": "plays"
+ },
+ {
+ "value": "\"id\" = 1",
+ "name": "spotify_auth_single_row",
+ "entityType": "checks",
+ "schema": "music",
+ "table": "spotify_auth"
+ },
+ {
+ "value": "category in ('case', 'cpu', 'motherboard', 'ram', 'cpu_cooler', 'gpu', 'psu', 'storage', 'fan', 'lighting', 'monitor', 'mouse', 'keyboard', 'headset', 'audio', 'controller', 'accessory', 'other')",
+ "name": "components_category_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "status in ('in_use', 'planned', 'spare', 'retired', 'sold')",
+ "name": "components_status_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "quantity > 0",
+ "name": "components_quantity_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "unit_price_cents >= 0",
+ "name": "components_unit_price_cents_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "total_price_cents >= 0",
+ "name": "components_total_price_cents_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "(dpi is null or dpi > 0) and (measured_dpi is null or measured_dpi > 0)",
+ "name": "components_dpi_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "components"
+ },
+ {
+ "value": "kind in ('desktop', 'laptop', 'server', 'vm', 'phone', 'tablet', 'monitor', 'other')",
+ "name": "devices_kind_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "value": "status in ('active', 'spare', 'planned', 'retired', 'sold')",
+ "name": "devices_status_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "value": "(price_cents is null or price_cents >= 0) and (monthly_cents is null or monthly_cents >= 0) and (budget_cents is null or budget_cents >= 0)",
+ "name": "devices_cents_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "devices"
+ },
+ {
+ "value": "cm_per_360 is null or cm_per_360 > 0",
+ "name": "sensitivities_cm_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "sensitivities"
+ },
+ {
+ "value": "yaw is null or yaw > 0",
+ "name": "sensitivities_yaw_check",
+ "entityType": "checks",
+ "schema": "hardware",
+ "table": "sensitivities"
+ }
+ ],
+ "renames": []
+}
\ No newline at end of file
diff --git a/scripts/house-listing.ts b/scripts/house-listing.ts
index 6d9519a..de57757 100644
--- a/scripts/house-listing.ts
+++ b/scripts/house-listing.ts
@@ -4,7 +4,9 @@
// bun run house add --url --city Gouda --price 1422 --area 84 --bedrooms 2
// bun run house add --json listing.json (or `--json -` for stdin; may be an array)
// bun run house update --status viewing --notes "Sat 14:00"
-// bun run house list [--all] [--city gouda] [--offer buy] [--json]
+// bun run house update --contact waiting_on_them --contact-at 2026-10-06 --contact-by me \
+// --contact-note "Applied via form" --contact-ref "gmail thread …"
+// bun run house list [--all] [--city gouda] [--offer buy] [--contact any|] [--json]
// bun run house remove [--hard] (soft remove = marked gone)
// bun run house restore
//
@@ -37,7 +39,8 @@ const usage = `usage: bun run house [options]
add [--json ] [field flags] insert, or update when the same link/address exists
update [field flags] change only the given fields (use "" to clear one)
-list [--all] [--city ] [--offer rent|buy] [--status ] [--limit n] [--json]
+list [--all] [--city ] [--offer rent|buy] [--status ] [--contact any|]
+ [--limit n] [--json]
remove [--hard] mark gone (or delete with --hard)
restore undo a soft remove
@@ -47,6 +50,9 @@ field flags: --url --offer rent|buy --type apartment|house|room|studio|other --t
--contract-type --agent --image-url --description --notes --status
interested|contacted|viewing|applied|rejected --lat --lng --offered-at
--first-seen (when it was shared) --source --source-id
+contact: --contact waiting_on_me|not_contacted|waiting_on_them|viewing|closed
+ --contact-at (last message) --contact-by me|them --contact-note (one line)
+ --contact-ref (mail thread / chat) --viewing-at
other: --dry-run (print, don't write)`;
const fieldFlags = [
@@ -80,7 +86,13 @@ const fieldFlags = [
'first-seen',
'source',
'source-id',
- 'external-id'
+ 'external-id',
+ 'contact',
+ 'contact-at',
+ 'contact-by',
+ 'contact-note',
+ 'contact-ref',
+ 'viewing-at'
] as const;
const { values: flags, positionals } = parseArgs({
@@ -145,7 +157,8 @@ const sql = postgres(dbUrl, { max: 1, onnotice: () => {} });
type Tx = postgres.TransactionSql;
const summary = sql`id, source, source_id, offer, property_type, title, city, city_slug,
- price_eur, area_m2, rooms, bedrooms, status, removed_at, url`;
+ price_eur, area_m2, rooms, bedrooms, status, removed_at, url, contact_status, contact_at,
+ contact_by, contact_note, contact_ref, viewing_at`;
async function findId(ref: string | undefined): Promise {
if (!ref) throw new Error('give a listing id or url');
@@ -336,12 +349,20 @@ async function list() {
const city = flag('city');
const offer = flag('offer');
const status = flag('status');
+ const contact = flag('contact');
const rows = await sql`select ${summary}, first_seen_at, notes from house.listings
where true
${flag('all') ? sql`` : sql`and removed_at is null`}
${typeof city === 'string' ? sql`and city_slug = ${city}` : sql``}
${typeof offer === 'string' ? sql`and offer = ${offer}` : sql``}
${typeof status === 'string' ? sql`and status = ${status}` : sql``}
+ ${
+ contact === 'any'
+ ? sql`and contact_status is not null`
+ : typeof contact === 'string'
+ ? sql`and contact_status = ${contact}`
+ : sql``
+ }
order by first_seen_at desc limit ${limit}`;
if (flag('json')) console.log(JSON.stringify(rows, null, 2));
else print(rows);
@@ -378,6 +399,17 @@ function print(rows: readonly Record[]) {
console.log(
`${r.action ? `${r.action} ` : ''}#${r.id} [${r.source}] ${r.title ?? '(no title)'}, ${r.city ?? '?'} · ${bits.join(' · ')}\n ${r.url}`
);
+ if (r.contact_status) {
+ const day = (d: unknown) => (d instanceof Date ? d.toISOString().slice(0, 16) : d);
+ const contact = [
+ r.contact_status,
+ r.viewing_at && `viewing ${day(r.viewing_at)}`,
+ r.contact_at && `last ${day(r.contact_at)}${r.contact_by ? ` by ${r.contact_by}` : ''}`,
+ r.contact_note,
+ r.contact_ref && `ref: ${r.contact_ref}`
+ ].filter(Boolean);
+ console.log(` contact: ${contact.join(' · ')}`);
+ }
}
}
diff --git a/src/lib/house-tracker/manual.ts b/src/lib/house-tracker/manual.ts
index 796f321..3961381 100644
--- a/src/lib/house-tracker/manual.ts
+++ b/src/lib/house-tracker/manual.ts
@@ -6,6 +6,8 @@ import { siteKeyFromUrl } from './link-key';
import { listingRef, parseEuros, parseInteger } from './pararius';
import {
listingDetailSchema,
+ contactParties,
+ contactStatuses,
listingStatuses,
offers,
propertyTypes,
@@ -163,7 +165,13 @@ export const manualListingSchema = listingDetailSchema
offeredAt: lenientDate,
firstSeenAt: lenientDate,
status: z.enum(listingStatuses).nullish(),
- notes: z.string().trim().max(2000).nullish()
+ notes: z.string().trim().max(2000).nullish(),
+ contactStatus: z.enum(contactStatuses).nullish(),
+ contactAt: lenientDate,
+ contactBy: z.enum(contactParties).nullish(),
+ contactNote: z.string().trim().max(500).nullish(),
+ contactRef: z.string().trim().max(500).nullish(),
+ viewingAt: lenientDate
});
export type ManualListing = z.infer;
@@ -182,7 +190,8 @@ const fieldAliases: Record = {
available: 'availableFrom',
seen: 'firstSeenAt',
firstSeen: 'firstSeenAt',
- offered: 'offeredAt'
+ offered: 'offeredAt',
+ contact: 'contactStatus'
};
export function normalizeKeys(input: Record): Record {
@@ -242,19 +251,24 @@ export const columns = {
offeredAt: 'offered_at',
firstSeenAt: 'first_seen_at',
status: 'status',
- notes: 'notes'
+ notes: 'notes',
+ contactStatus: 'contact_status',
+ contactAt: 'contact_at',
+ contactBy: 'contact_by',
+ contactNote: 'contact_note',
+ contactRef: 'contact_ref',
+ viewingAt: 'viewing_at'
} as const satisfies Partial>;
+const dateFields = new Set(['offeredAt', 'firstSeenAt', 'contactAt', 'viewingAt']);
+
/** Only the columns the user actually gave; `null` clears a column on update. */
export function toColumns(listing: ManualListing): Record {
const out: Record = {};
for (const [field, column] of Object.entries(columns)) {
const value = listing[field as keyof ManualListing];
if (value === undefined) continue;
- out[column] =
- value !== null && (field === 'offeredAt' || field === 'firstSeenAt')
- ? new Date(value as string)
- : value;
+ out[column] = value !== null && dateFields.has(field) ? new Date(value as string) : value;
}
if (listing.city !== undefined) out.city_slug = citySlugFromName(listing.city);
return out;
diff --git a/src/lib/house-tracker/types.ts b/src/lib/house-tracker/types.ts
index 410aed4..f1bf370 100644
--- a/src/lib/house-tracker/types.ts
+++ b/src/lib/house-tracker/types.ts
@@ -61,6 +61,26 @@ export const listingStatuses = [
] as const;
export type ListingStatus = (typeof listingStatuses)[number];
+// Where the conversation with the agent or landlord stands: whose turn it is.
+export const contactStatuses = [
+ 'waiting_on_me',
+ 'not_contacted',
+ 'waiting_on_them',
+ 'viewing',
+ 'closed'
+] as const;
+export type ContactStatus = (typeof contactStatuses)[number];
+export const contactStatusLabels: Record = {
+ waiting_on_me: 'my turn',
+ not_contacted: 'not contacted',
+ waiting_on_them: 'waiting on them',
+ viewing: 'viewing planned',
+ closed: 'closed'
+};
+// Who sent the last message.
+export const contactParties = ['me', 'them'] as const;
+export type ContactParty = (typeof contactParties)[number];
+
export const lanes = ['fast', 'slow'] as const;
export type Lane = (typeof lanes)[number];
diff --git a/src/lib/server/db/schema/house-tracker.ts b/src/lib/server/db/schema/house-tracker.ts
index 1f0db2b..a765761 100644
--- a/src/lib/server/db/schema/house-tracker.ts
+++ b/src/lib/server/db/schema/house-tracker.ts
@@ -83,11 +83,25 @@ export const houseListings = houseSchema.table(
lbmYear: integer('lbm_year'),
lbmDetail: jsonb('lbm_detail').$type(),
lbmQuery: text('lbm_query'),
- lbmScoredAt: timestamptz('lbm_scored_at')
+ lbmScoredAt: timestamptz('lbm_scored_at'),
+ // Contact with the agent/landlord (see contactStatuses in house-tracker/types.ts):
+ // whose turn it is, the last message (when, from whom, a one-line summary), where the
+ // conversation lives (mail thread, chat) and the viewing time once one is planned.
+ contactStatus: text('contact_status'),
+ contactAt: timestamptz('contact_at'),
+ contactBy: text('contact_by'),
+ contactNote: text('contact_note'),
+ contactRef: text('contact_ref'),
+ viewingAt: timestamptz('viewing_at')
},
(table) => [
check('listings_offer_check', sql`offer IN ('rent', 'buy')`),
check('listings_price_eur_check', sql`price_eur IS NULL OR price_eur >= 0`),
+ check(
+ 'listings_contact_status_check',
+ sql`contact_status IS NULL OR contact_status IN ('waiting_on_me', 'not_contacted', 'waiting_on_them', 'viewing', 'closed')`
+ ),
+ check('listings_contact_by_check', sql`contact_by IS NULL OR contact_by IN ('me', 'them')`),
uniqueIndex('listings_source_idx').on(table.source, table.sourceId),
index('listings_active_idx')
.on(table.offer, table.firstSeenAt.desc().nullsFirst())
@@ -96,6 +110,9 @@ export const houseListings = houseSchema.table(
index('listings_details_idx')
.on(table.firstSeenAt.desc().nullsFirst())
.where(sql`detail_fetched_at IS NULL`),
+ index('listings_contact_idx')
+ .on(table.contactStatus)
+ .where(sql`contact_status IS NOT NULL`),
index('listings_address_idx')
.on(table.addressKey)
.where(sql`address_key IS NOT NULL`)
diff --git a/src/routes/trackers/houses/+page.server.ts b/src/routes/trackers/houses/+page.server.ts
index 2a924d8..8c0a65c 100644
--- a/src/routes/trackers/houses/+page.server.ts
+++ b/src/routes/trackers/houses/+page.server.ts
@@ -18,7 +18,12 @@ import { houseAlertRules, houseListings, houseWorkerRuns } from '#lib/server/db/
import { requireOwner } from '#lib/server/owner.js';
import { sendAlert } from '#lib/server/house-tracker.js';
import { normalizeCity } from '#lib/house-tracker/alerts.js';
-import { listingStatuses, propertyTypes } from '#lib/house-tracker/types.js';
+import {
+ contactParties,
+ contactStatuses,
+ listingStatuses,
+ propertyTypes
+} from '#lib/house-tracker/types.js';
import { dedupe } from '#lib/house-tracker/ingest.js';
import { scoreListings } from '#lib/house-tracker/liveability.js';
import {
@@ -59,6 +64,13 @@ export const load: PageServerLoad = async (event) => {
const source = (params.get('source') ?? '').replace(/[^a-z0-9-]/g, '');
const showRemoved = params.get('removed') === '1';
const status = params.get('status') ?? '';
+ // Contact view: every listing with a contact status (or one status), whatever the other
+ // filters say, so a conversation never hides behind a price or size limit.
+ const contactParam = params.get('contact') ?? '';
+ const contact =
+ contactParam === 'any' || (contactStatuses as readonly string[]).includes(contactParam)
+ ? contactParam
+ : '';
const q = (params.get('q') ?? '').trim().slice(0, 80);
// Leefbaarometer class 1-9; listings without a score are hidden while this is set.
const minLbm = int(params.get('lbm'));
@@ -66,22 +78,27 @@ export const load: PageServerLoad = async (event) => {
? (params.get('sort') as string)
: 'new';
- const where: (SQL | undefined)[] = [
- eq(houseListings.offer, offer),
- // Copies of the same home on another source are listed under the original.
- isNull(houseListings.duplicateOf)
- ];
- if (city === 'region') where.push(inArray(houseListings.citySlug, [...REGION]));
- else if (city) where.push(eq(houseListings.citySlug, city));
- if (minArea != null)
- where.push(or(isNull(houseListings.areaM2), gte(houseListings.areaM2, minArea)));
- if (minRooms != null)
- where.push(or(isNull(houseListings.rooms), gte(houseListings.rooms, minRooms)));
- if (source) where.push(eq(houseListings.source, source));
- if (min != null) where.push(gte(houseListings.priceEur, min));
- if (max != null) where.push(lte(houseListings.priceEur, max));
- if (minLbm != null && minLbm > 0) where.push(gte(houseListings.lbmClass, minLbm));
- if (!showRemoved) where.push(isNull(houseListings.removedAt));
+ const where: (SQL | undefined)[] = [];
+ if (contact === 'any') where.push(sql`${houseListings.contactStatus} IS NOT NULL`);
+ else if (contact) where.push(eq(houseListings.contactStatus, contact));
+ else {
+ where.push(
+ eq(houseListings.offer, offer),
+ // Copies of the same home on another source are listed under the original.
+ isNull(houseListings.duplicateOf)
+ );
+ if (city === 'region') where.push(inArray(houseListings.citySlug, [...REGION]));
+ else if (city) where.push(eq(houseListings.citySlug, city));
+ if (minArea != null)
+ where.push(or(isNull(houseListings.areaM2), gte(houseListings.areaM2, minArea)));
+ if (minRooms != null)
+ where.push(or(isNull(houseListings.rooms), gte(houseListings.rooms, minRooms)));
+ if (source) where.push(eq(houseListings.source, source));
+ if (min != null) where.push(gte(houseListings.priceEur, min));
+ if (max != null) where.push(lte(houseListings.priceEur, max));
+ if (minLbm != null && minLbm > 0) where.push(gte(houseListings.lbmClass, minLbm));
+ if (!showRemoved) where.push(isNull(houseListings.removedAt));
+ }
if (status === 'any') where.push(sql`${houseListings.status} IS NOT NULL`);
else if ((listingStatuses as readonly string[]).includes(status))
where.push(eq(houseListings.status, status));
@@ -108,8 +125,14 @@ export const load: PageServerLoad = async (event) => {
desc(houseListings.firstSeenAt)
]
}[sort]!;
+ // Contact view: my turn first, then by status, newest message first.
+ const contactOrder = [
+ sql`array_position(${sql.raw(`ARRAY[${contactStatuses.map((s) => `'${s}'`).join(', ')}]`)}::text[], ${houseListings.contactStatus})`,
+ sql`${houseListings.viewingAt} ASC NULLS LAST`,
+ sql`${houseListings.contactAt} DESC NULLS LAST`
+ ];
- const [listings, cities, stats, rules, runs, health] = await Promise.all([
+ const [listings, cities, stats, rules, runs, health, contactCounts] = await Promise.all([
db
.select({
id: houseListings.id,
@@ -147,11 +170,18 @@ export const load: PageServerLoad = async (event) => {
lbmPrecision: houseListings.lbmPrecision,
lbmBuurtName: houseListings.lbmBuurtName,
lbmYear: houseListings.lbmYear,
- lbmDetail: houseListings.lbmDetail
+ lbmDetail: houseListings.lbmDetail,
+ offer: houseListings.offer,
+ contactStatus: houseListings.contactStatus,
+ contactAt: houseListings.contactAt,
+ contactBy: houseListings.contactBy,
+ contactNote: houseListings.contactNote,
+ contactRef: houseListings.contactRef,
+ viewingAt: houseListings.viewingAt
})
.from(houseListings)
.where(and(...where))
- .orderBy(...order)
+ .orderBy(...(contact ? contactOrder : order))
.limit(400),
db.execute(sql`SELECT city_slug AS slug, min(city) AS name,
count(*) FILTER (WHERE removed_at IS NULL)::int AS active
@@ -181,7 +211,9 @@ export const load: PageServerLoad = async (event) => {
FROM house.listings WHERE first_seen_lane = 'fast' AND offered_at IS NOT NULL
AND first_seen_at >= offered_at AND first_seen_at - offered_at < interval '3 days'
AND first_seen_at > now() - interval '30 days')
- AS median_detect_minutes`)
+ AS median_detect_minutes`),
+ db.execute(sql`SELECT contact_status AS status, count(*)::int AS count
+ FROM house.listings WHERE contact_status IS NOT NULL GROUP BY contact_status`)
]);
const ids = listings.map((row) => row.id);
@@ -221,6 +253,7 @@ export const load: PageServerLoad = async (event) => {
source,
showRemoved,
status,
+ contact,
q,
sort
},
@@ -246,6 +279,13 @@ export const load: PageServerLoad = async (event) => {
median_detect_minutes: number | null;
},
statuses: listingStatuses,
+ contactStatuses,
+ contactCounts: Object.fromEntries(
+ (contactCounts as unknown as { status: string; count: number }[]).map((row) => [
+ row.status,
+ row.count
+ ])
+ ) as Partial>,
propertyTypes
};
};
@@ -257,6 +297,30 @@ const nullableInt = (value: FormDataEntryValue | null) => {
return Number.isInteger(n) && n >= 0 && n < 100_000_000 ? n : undefined;
};
+/** "2026-10-25" or "2026-10-25T14:00" (a date/datetime-local input) read as Amsterdam time. */
+function amsterdamTime(value: string | null): Date | null | undefined {
+ if (!value) return null;
+ const match = /^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?$/.exec(value);
+ if (!match) return undefined;
+ const [, y, mo, d, h = '12', mi = '00'] = match;
+ const asUtc = Date.UTC(+y, +mo - 1, +d, +h, +mi);
+ const parts = Object.fromEntries(
+ new Intl.DateTimeFormat('en-GB', {
+ timeZone: 'Europe/Amsterdam',
+ hourCycle: 'h23',
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit'
+ })
+ .formatToParts(new Date(asUtc))
+ .map((p) => [p.type, p.value])
+ );
+ const shown = Date.UTC(+parts.year, +parts.month - 1, +parts.day, +parts.hour, +parts.minute);
+ return new Date(asUtc - (shown - asUtc));
+}
+
export const actions: Actions = {
status: async (event) => {
requireOwner(event);
@@ -275,6 +339,38 @@ export const actions: Actions = {
.where(eq(houseListings.id, id));
return { ok: true };
},
+ contact: async (event) => {
+ requireOwner(event);
+ const form = await event.request.formData();
+ const id = Number(form.get('id'));
+ const text = (name: string, max: number) =>
+ String(form.get(name) ?? '')
+ .trim()
+ .slice(0, max) || null;
+ const contactStatus = text('contactStatus', 40);
+ const contactBy = text('contactBy', 10);
+ if (!Number.isInteger(id) || id <= 0) return fail(400, { message: 'Invalid listing' });
+ if (contactStatus && !(contactStatuses as readonly string[]).includes(contactStatus))
+ return fail(400, { message: 'Invalid contact status' });
+ if (contactBy && !(contactParties as readonly string[]).includes(contactBy))
+ return fail(400, { message: 'Invalid sender' });
+ const contactAt = amsterdamTime(text('contactAt', 30));
+ const viewingAt = amsterdamTime(text('viewingAt', 30));
+ if (contactAt === undefined || viewingAt === undefined)
+ return fail(400, { message: 'Invalid date' });
+ await db
+ .update(houseListings)
+ .set({
+ contactStatus,
+ contactAt,
+ contactBy,
+ contactNote: text('contactNote', 500),
+ contactRef: text('contactRef', 500),
+ viewingAt
+ })
+ .where(eq(houseListings.id, id));
+ return { ok: true };
+ },
addManual: async (event) => {
requireOwner(event);
const form = await event.request.formData();
diff --git a/src/routes/trackers/houses/+page.svelte b/src/routes/trackers/houses/+page.svelte
index b285724..670644c 100644
--- a/src/routes/trackers/houses/+page.svelte
+++ b/src/routes/trackers/houses/+page.svelte
@@ -1,5 +1,6 @@