From 50bc0e3441db15cb862539988f86741fc6709a5e Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Mon, 17 Aug 2026 02:02:16 -0400 Subject: [PATCH] style(migrations): rename migration files, add new migration for shims, add favicon for front-end --- .env.development | 23 + public/favicon.webp | Bin 0 -> 86260 bytes src/app/(frontend)/layout.tsx | 7 + src/migrations/20260817_053752.json | 15671 ++++++++++++++++ src/migrations/20260817_053752.ts | 33 + .../{ => _archived}/20251206_065831.json | 0 .../{ => _archived}/20251206_065831.ts | 0 .../{ => _archived}/20251212_183607.json | 0 .../{ => _archived}/20251212_183607.ts | 0 .../{ => _archived}/20251219_061127.json | 0 .../{ => _archived}/20251219_061127.ts | 0 .../{ => _archived}/20251222_200320.json | 0 .../{ => _archived}/20251222_200320.ts | 0 .../{ => _archived}/20251223_055859.json | 0 .../{ => _archived}/20251223_055859.ts | 0 src/migrations/index.ts | 54 +- 16 files changed, 15760 insertions(+), 28 deletions(-) create mode 100644 .env.development create mode 100644 public/favicon.webp create mode 100644 src/migrations/20260817_053752.json create mode 100644 src/migrations/20260817_053752.ts rename src/migrations/{ => _archived}/20251206_065831.json (100%) rename src/migrations/{ => _archived}/20251206_065831.ts (100%) rename src/migrations/{ => _archived}/20251212_183607.json (100%) rename src/migrations/{ => _archived}/20251212_183607.ts (100%) rename src/migrations/{ => _archived}/20251219_061127.json (100%) rename src/migrations/{ => _archived}/20251219_061127.ts (100%) rename src/migrations/{ => _archived}/20251222_200320.json (100%) rename src/migrations/{ => _archived}/20251222_200320.ts (100%) rename src/migrations/{ => _archived}/20251223_055859.json (100%) rename src/migrations/{ => _archived}/20251223_055859.ts (100%) diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..d78d3c1 --- /dev/null +++ b/.env.development @@ -0,0 +1,23 @@ +#DATABASE_URI=postgres://ptfapp:polaristaskforcedb@jmf-usrv-2404:2552/ptf_app_prd +PAYLOAD_SECRET=b5ac11acc77ea8427d10fcd0 +# Added by Payload + +EMAIL_FROM_ADDRESS="arma@onyxsimple.com" +EMAIL_FROM_NAME="Arma" +EMAIL_HOST="smtp-relay.brevo.com" +EMAIL_PORT=587 +EMAIL_USERNAME="b34870001@smtp-brevo.com" +EMAIL_PASSWORD="xsmtpsib-97789fdb52a37baeff8a586a06e849cdaea39bd7dfd850f1a612030328d64899-fVMh5bQkZx0wNQej" + +LAST_UPDATED=1766438881 + +APP_URL=http://localhost:3000 +GAME_TICK_NOTIFY_SECRET=4707fba13f1c66db44df38721fba204f2d6bdc6796ced7a5 + +DISCORD_TOKEN=MTUzNzI2MzQ0Njk2NDMwNjEwMQ.GnTFBc.2LHX1FO7aAm9LbrKzj2IlVFNDmTBXsnBebzk3o +DISCORD_GUILD_ID=851910807020765275 +DISCORD_OPS_CHANNEL_ID=1136692636481237173 +DISCORD_ANNOUNCE_CHANNEL_ID=1136692636481237173 +DISCORD_STAFF_ROLE_IDS=851910807277404187,851910807277404188,851910807277404189,851910807289462814 +DISCORD_ATTENDANCE_POLL_MS=5000 +DISCORD_NOTIFICATION_POLL_MS=5000 \ No newline at end of file diff --git a/public/favicon.webp b/public/favicon.webp new file mode 100644 index 0000000000000000000000000000000000000000..76d0c1e2275866a7b77851cc4235061a78a266f3 GIT binary patch literal 86260 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 ZXMO`@yZ`_Ke?Svz2V;N$0AF?e006?8f0qCN literal 0 HcmV?d00001 diff --git a/src/app/(frontend)/layout.tsx b/src/app/(frontend)/layout.tsx index 0f841a5..3edb259 100644 --- a/src/app/(frontend)/layout.tsx +++ b/src/app/(frontend)/layout.tsx @@ -26,6 +26,13 @@ export const dynamic = "force-dynamic"; export const metadata: Metadata = { description: "A gamified platform for Polaris Task Force, an Arma 3 unit.", title: "Polaris Task Force", + icons: [ + { + url: "/favicon.webp", + type: "image/webp", + rel: "icon" + } + ] }; export default async function RootLayout(props: { children: React.ReactNode }) { diff --git a/src/migrations/20260817_053752.json b/src/migrations/20260817_053752.json new file mode 100644 index 0000000..2871c6a --- /dev/null +++ b/src/migrations/20260817_053752.json @@ -0,0 +1,15671 @@ +{ + "version": "7", + "dialect": "postgresql", + "tables": { + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_updated_at_idx": { + "name": "media_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_created_at_idx": { + "name": "media_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_filename_idx": { + "name": "media_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_hard_resources": { + "name": "game_hard_resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_hard_resources_name_idx": { + "name": "game_hard_resources_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_updated_at_idx": { + "name": "game_hard_resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_created_at_idx": { + "name": "game_hard_resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_stored_resources": { + "name": "game_structures_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_stored_resources_order_idx": { + "name": "game_structures_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_parent_id_idx": { + "name": "game_structures_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_resource_idx": { + "name": "game_structures_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_stored_resources_resource_id_resources_id_fk": { + "name": "game_structures_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_stored_resources_parent_id_fk": { + "name": "game_structures_stored_resources_parent_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_void_storage": { + "name": "game_structures_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_void_storage_order_idx": { + "name": "game_structures_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_parent_id_idx": { + "name": "game_structures_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_resource_idx": { + "name": "game_structures_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_void_storage_resource_id_resources_id_fk": { + "name": "game_structures_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_void_storage_parent_id_fk": { + "name": "game_structures_void_storage_parent_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures": { + "name": "game_structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "coordinates": { + "name": "coordinates", + "type": "geometry(Point)", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_structures_type_idx": { + "name": "game_structures_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_faction_idx": { + "name": "game_structures_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_updated_at_idx": { + "name": "game_structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_created_at_idx": { + "name": "game_structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_type_id_structures_id_fk": { + "name": "game_structures_type_id_structures_id_fk", + "tableFrom": "game_structures", + "tableTo": "structures", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_faction_id_factions_id_fk": { + "name": "game_structures_faction_id_factions_id_fk", + "tableFrom": "game_structures", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_stored_resources": { + "name": "game_vehicles_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_stored_resources_order_idx": { + "name": "game_vehicles_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_parent_id_idx": { + "name": "game_vehicles_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_resource_idx": { + "name": "game_vehicles_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_stored_resources_resource_id_resources_id_fk": { + "name": "game_vehicles_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_stored_resources_parent_id_fk": { + "name": "game_vehicles_stored_resources_parent_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_void_storage": { + "name": "game_vehicles_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_void_storage_order_idx": { + "name": "game_vehicles_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_parent_id_idx": { + "name": "game_vehicles_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_resource_idx": { + "name": "game_vehicles_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_void_storage_resource_id_resources_id_fk": { + "name": "game_vehicles_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_void_storage_parent_id_fk": { + "name": "game_vehicles_void_storage_parent_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles": { + "name": "game_vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "deployed_at_id": { + "name": "deployed_at_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_game_vehicles_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "current_fuel": { + "name": "current_fuel", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "current_health": { + "name": "current_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_vehicles_type_idx": { + "name": "game_vehicles_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_deployed_at_idx": { + "name": "game_vehicles_deployed_at_idx", + "columns": [ + { + "expression": "deployed_at_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_faction_idx": { + "name": "game_vehicles_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_updated_at_idx": { + "name": "game_vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_created_at_idx": { + "name": "game_vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_type_id_vehicles_id_fk": { + "name": "game_vehicles_type_id_vehicles_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "vehicles", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_deployed_at_id_game_structures_id_fk": { + "name": "game_vehicles_deployed_at_id_game_structures_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "game_structures", + "columnsFrom": [ + "deployed_at_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_faction_id_factions_id_fk": { + "name": "game_vehicles_faction_id_factions_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs": { + "name": "game_npcs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occupation": { + "name": "occupation", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location_id": { + "name": "location_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bio": { + "name": "bio", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_generated": { + "name": "is_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_in_game": { + "name": "is_in_game", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "vendor_enabled": { + "name": "vendor_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vendor_price_modifier": { + "name": "vendor_price_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_npcs_location_idx": { + "name": "game_npcs_location_idx", + "columns": [ + { + "expression": "location_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_faction_idx": { + "name": "game_npcs_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_updated_at_idx": { + "name": "game_npcs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_created_at_idx": { + "name": "game_npcs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_location_id_game_structures_id_fk": { + "name": "game_npcs_location_id_game_structures_id_fk", + "tableFrom": "game_npcs", + "tableTo": "game_structures", + "columnsFrom": [ + "location_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_npcs_faction_id_factions_id_fk": { + "name": "game_npcs_faction_id_factions_id_fk", + "tableFrom": "game_npcs", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs_rels": { + "name": "game_npcs_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_npcs_rels_order_idx": { + "name": "game_npcs_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_parent_idx": { + "name": "game_npcs_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_path_idx": { + "name": "game_npcs_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_assets_id_idx": { + "name": "game_npcs_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_rels_parent_fk": { + "name": "game_npcs_rels_parent_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_npcs_rels_assets_fk": { + "name": "game_npcs_rels_assets_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_event_logs": { + "name": "game_event_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "system": { + "name": "system", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "target_collection": { + "name": "target_collection", + "type": "enum_game_event_logs_target_collection", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "target_id": { + "name": "target_id", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_event_logs_type_idx": { + "name": "game_event_logs_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_actor_idx": { + "name": "game_event_logs_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_structure_idx": { + "name": "game_event_logs_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_updated_at_idx": { + "name": "game_event_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_created_at_idx": { + "name": "game_event_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_event_logs_actor_id_users_id_fk": { + "name": "game_event_logs_actor_id_users_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_event_logs_structure_id_game_structures_id_fk": { + "name": "game_event_logs_structure_id_game_structures_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "game_structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_roles": { + "name": "users_roles", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_roles_order_idx": { + "name": "users_roles_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_roles_parent_idx": { + "name": "users_roles_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_roles_parent_fk": { + "name": "users_roles_parent_fk", + "tableFrom": "users_roles", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_notifications_muted_types": { + "name": "users_preferences_notifications_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_notifications_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_notifications_muted_types_order_idx": { + "name": "users_preferences_notifications_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_notifications_muted_types_parent_idx": { + "name": "users_preferences_notifications_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_notifications_muted_types_parent_fk": { + "name": "users_preferences_notifications_muted_types_parent_fk", + "tableFrom": "users_preferences_notifications_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_discord_muted_types": { + "name": "users_preferences_discord_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_discord_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_discord_muted_types_order_idx": { + "name": "users_preferences_discord_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_discord_muted_types_parent_idx": { + "name": "users_preferences_discord_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_discord_muted_types_parent_fk": { + "name": "users_preferences_discord_muted_types_parent_fk", + "tableFrom": "users_preferences_discord_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_sessions": { + "name": "users_sessions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_sessions_order_idx": { + "name": "users_sessions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_sessions_parent_id_idx": { + "name": "users_sessions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_sessions_parent_id_fk": { + "name": "users_sessions_parent_id_fk", + "tableFrom": "users_sessions", + "tableTo": "users", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "discord_username": { + "name": "discord_username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "discord_id": { + "name": "discord_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "display_name": { + "name": "display_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "payload_display_name": { + "name": "payload_display_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "steam_id": { + "name": "steam_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "preferences_notifications_muted_all": { + "name": "preferences_notifications_muted_all", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_show_callsign": { + "name": "preferences_display_show_callsign", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_discord_enabled": { + "name": "preferences_discord_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_discord_username_idx": { + "name": "users_discord_username_idx", + "columns": [ + { + "expression": "discord_username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_discord_id_idx": { + "name": "users_discord_id_idx", + "columns": [ + { + "expression": "discord_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_username_idx": { + "name": "users_username_idx", + "columns": [ + { + "expression": "username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ranks": { + "name": "ranks", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_order": { + "name": "_order", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "abbreviation": { + "name": "abbreviation", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "insignia_id": { + "name": "insignia_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ranks__order_idx": { + "name": "ranks__order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_name_idx": { + "name": "ranks_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_abbreviation_idx": { + "name": "ranks_abbreviation_idx", + "columns": [ + { + "expression": "abbreviation", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_insignia_idx": { + "name": "ranks_insignia_idx", + "columns": [ + { + "expression": "insignia_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_updated_at_idx": { + "name": "ranks_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_created_at_idx": { + "name": "ranks_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ranks_insignia_id_media_id_fk": { + "name": "ranks_insignia_id_media_id_fk", + "tableFrom": "ranks", + "tableTo": "media", + "columnsFrom": [ + "insignia_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles": { + "name": "profiles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "rank_id": { + "name": "rank_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "dossier_personal_excerpt": { + "name": "dossier_personal_excerpt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "dossier_intel_excerpt": { + "name": "dossier_intel_excerpt", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "progression_scoreboard_infantry_kills": { + "name": "progression_scoreboard_infantry_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_vehicle_kills": { + "name": "progression_scoreboard_vehicle_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_armor_kills": { + "name": "progression_scoreboard_armor_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_air_kills": { + "name": "progression_scoreboard_air_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_deaths": { + "name": "progression_scoreboard_deaths", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_games_played": { + "name": "progression_minigames_flappy_bird_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_total_passes": { + "name": "progression_minigames_flappy_bird_total_passes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_best_score": { + "name": "progression_minigames_flappy_bird_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_xp_earned": { + "name": "progression_minigames_flappy_bird_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "profiles_user_idx": { + "name": "profiles_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rank_idx": { + "name": "profiles_rank_idx", + "columns": [ + { + "expression": "rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_updated_at_idx": { + "name": "profiles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_created_at_idx": { + "name": "profiles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_user_id_users_id_fk": { + "name": "profiles_user_id_users_id_fk", + "tableFrom": "profiles", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_rank_id_ranks_id_fk": { + "name": "profiles_rank_id_ranks_id_fk", + "tableFrom": "profiles", + "tableTo": "ranks", + "columnsFrom": [ + "rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles_rels": { + "name": "profiles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "awards_id": { + "name": "awards_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "profiles_rels_order_idx": { + "name": "profiles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_parent_idx": { + "name": "profiles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_path_idx": { + "name": "profiles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_awards_id_idx": { + "name": "profiles_rels_awards_id_idx", + "columns": [ + { + "expression": "awards_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_qualifications_id_idx": { + "name": "profiles_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_rels_parent_fk": { + "name": "profiles_rels_parent_fk", + "tableFrom": "profiles_rels", + "tableTo": "profiles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "profiles_rels_awards_fk": { + "name": "profiles_rels_awards_fk", + "tableFrom": "profiles_rels", + "tableTo": "awards", + "columnsFrom": [ + "awards_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "profiles_rels_qualifications_fk": { + "name": "profiles_rels_qualifications_fk", + "tableFrom": "profiles_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards": { + "name": "awards", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_awards_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'commendation'" + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_points": { + "name": "experience_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ribbon_design": { + "name": "ribbon_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "medal_design": { + "name": "medal_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "awards_name_idx": { + "name": "awards_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_image_idx": { + "name": "awards_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_updated_at_idx": { + "name": "awards_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_created_at_idx": { + "name": "awards_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_image_id_media_id_fk": { + "name": "awards_image_id_media_id_fk", + "tableFrom": "awards", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.qualifications": { + "name": "qualifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "qualifications_name_idx": { + "name": "qualifications_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_updated_at_idx": { + "name": "qualifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_created_at_idx": { + "name": "qualifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments": { + "name": "assignments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_assignments_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "callsign": { + "name": "callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "leader_id": { + "name": "leader_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assignments_leader_idx": { + "name": "assignments_leader_idx", + "columns": [ + { + "expression": "leader_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_updated_at_idx": { + "name": "assignments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_created_at_idx": { + "name": "assignments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_leader_id_users_id_fk": { + "name": "assignments_leader_id_users_id_fk", + "tableFrom": "assignments", + "tableTo": "users", + "columnsFrom": [ + "leader_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments_rels": { + "name": "assignments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assignments_rels_order_idx": { + "name": "assignments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_parent_idx": { + "name": "assignments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_path_idx": { + "name": "assignments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_assignments_id_idx": { + "name": "assignments_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_users_id_idx": { + "name": "assignments_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_rels_parent_fk": { + "name": "assignments_rels_parent_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_assignments_fk": { + "name": "assignments_rels_assignments_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_users_fk": { + "name": "assignments_rels_users_fk", + "tableFrom": "assignments_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.experience": { + "name": "experience", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "required_points": { + "name": "required_points", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "experience_name_idx": { + "name": "experience_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_updated_at_idx": { + "name": "experience_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_created_at_idx": { + "name": "experience_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_notifications": { + "name": "user_notifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "read": { + "name": "read", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "user_notifications_user_idx": { + "name": "user_notifications_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_read_idx": { + "name": "user_notifications_read_idx", + "columns": [ + { + "expression": "read", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_updated_at_idx": { + "name": "user_notifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_created_at_idx": { + "name": "user_notifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "user_notifications_user_id_users_id_fk": { + "name": "user_notifications_user_id_users_id_fk", + "tableFrom": "user_notifications", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_roles_provided_roles": { + "name": "missions_mission_roles_provided_roles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "role_name": { + "name": "role_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "minimum_rank_id": { + "name": "minimum_rank_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_mission_roles_provided_roles_order_idx": { + "name": "missions_mission_roles_provided_roles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_parent_id_idx": { + "name": "missions_mission_roles_provided_roles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_minimum_rank_idx": { + "name": "missions_mission_roles_provided_roles_minimum_rank_idx", + "columns": [ + { + "expression": "minimum_rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk": { + "name": "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "ranks", + "columnsFrom": [ + "minimum_rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_mission_roles_provided_roles_parent_id_fk": { + "name": "missions_mission_roles_provided_roles_parent_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_briefing": { + "name": "missions_briefing", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "section_name": { + "name": "section_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "details": { + "name": "details", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_briefing_order_idx": { + "name": "missions_briefing_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_briefing_parent_id_idx": { + "name": "missions_briefing_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_briefing_parent_id_fk": { + "name": "missions_briefing_parent_id_fk", + "tableFrom": "missions_briefing", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_objectives": { + "name": "missions_mission_objectives", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "success_or_fail_conditions": { + "name": "success_or_fail_conditions", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_mission_objectives_order_idx": { + "name": "missions_mission_objectives_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_objectives_parent_id_idx": { + "name": "missions_mission_objectives_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_objectives_parent_id_fk": { + "name": "missions_mission_objectives_parent_id_fk", + "tableFrom": "missions_mission_objectives", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_factions_involved": { + "name": "missions_factions_involved", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "threat_level": { + "name": "threat_level", + "type": "enum_missions_factions_involved_threat_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'hostile'" + } + }, + "indexes": { + "missions_factions_involved_order_idx": { + "name": "missions_factions_involved_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_parent_id_idx": { + "name": "missions_factions_involved_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_faction_idx": { + "name": "missions_factions_involved_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_factions_involved_faction_id_factions_id_fk": { + "name": "missions_factions_involved_faction_id_factions_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_factions_involved_parent_id_fk": { + "name": "missions_factions_involved_parent_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_insertion": { + "name": "missions_logistics_and_support_insertion", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_insertion", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_insertion_order_idx": { + "name": "missions_logistics_and_support_insertion_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_insertion_parent_idx": { + "name": "missions_logistics_and_support_insertion_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_insertion_parent_fk": { + "name": "missions_logistics_and_support_insertion_parent_fk", + "tableFrom": "missions_logistics_and_support_insertion", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_extraction": { + "name": "missions_logistics_and_support_extraction", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_extraction", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_extraction_order_idx": { + "name": "missions_logistics_and_support_extraction_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_extraction_parent_idx": { + "name": "missions_logistics_and_support_extraction_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_extraction_parent_fk": { + "name": "missions_logistics_and_support_extraction_parent_fk", + "tableFrom": "missions_logistics_and_support_extraction", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_assets_available": { + "name": "missions_logistics_and_support_assets_available", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_type": { + "name": "asset_type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "asset_count": { + "name": "asset_count", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "does_respawn": { + "name": "does_respawn", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_callsign": { + "name": "asset_callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_logistics_and_support_assets_available_order_idx": { + "name": "missions_logistics_and_support_assets_available_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_assets_available_parent_id_idx": { + "name": "missions_logistics_and_support_assets_available_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_assets_available_parent_id_fk": { + "name": "missions_logistics_and_support_assets_available_parent_id_fk", + "tableFrom": "missions_logistics_and_support_assets_available", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_comms_and_docs_frequencies": { + "name": "missions_comms_and_docs_frequencies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "frequency": { + "name": "frequency", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "net_name": { + "name": "net_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "freq_usage": { + "name": "freq_usage", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_comms_and_docs_frequencies_order_idx": { + "name": "missions_comms_and_docs_frequencies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_comms_and_docs_frequencies_parent_id_idx": { + "name": "missions_comms_and_docs_frequencies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_comms_and_docs_frequencies_parent_id_fk": { + "name": "missions_comms_and_docs_frequencies_parent_id_fk", + "tableFrom": "missions_comms_and_docs_frequencies", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions": { + "name": "missions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_type": { + "name": "operation_type", + "type": "enum_missions_operation_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "discord_message_id": { + "name": "discord_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_attendance_hash": { + "name": "discord_attendance_hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "classification_map_id": { + "name": "classification_map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "classification_mission_type": { + "name": "classification_mission_type", + "type": "enum_missions_classification_mission_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Zeus'" + }, + "classification_campaign_id": { + "name": "classification_campaign_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "classification_custom_scripts": { + "name": "classification_custom_scripts", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "classification_start_date_time": { + "name": "classification_start_date_time", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "classification_estimated_duration": { + "name": "classification_estimated_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 240 + }, + "ownership_and_status_status": { + "name": "ownership_and_status_status", + "type": "enum_missions_ownership_and_status_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Concept'" + }, + "ownership_and_status_visibility": { + "name": "ownership_and_status_visibility", + "type": "enum_missions_ownership_and_status_visibility", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'leadership'" + }, + "mission_roles_max_players": { + "name": "mission_roles_max_players", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 32 + }, + "mission_roles_notes": { + "name": "mission_roles_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "civilian_presence": { + "name": "civilian_presence", + "type": "enum_missions_civilian_presence", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'None'" + }, + "game_details_server_details_server_ip": { + "name": "game_details_server_details_server_ip", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'arma.onyxsimple.com'" + }, + "game_details_server_details_server_port": { + "name": "game_details_server_details_server_port", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 2302 + }, + "game_details_server_details_server_password": { + "name": "game_details_server_details_server_password", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'ptf313'" + }, + "game_details_game_setup_mission_file_id": { + "name": "game_details_game_setup_mission_file_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_details_game_setup_required_mods_id": { + "name": "game_details_game_setup_required_mods_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "comms_and_docs_radio_plan": { + "name": "comms_and_docs_radio_plan", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "missions_code_name_idx": { + "name": "missions_code_name_idx", + "columns": [ + { + "expression": "code_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_cover_image_idx": { + "name": "missions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_map_idx": { + "name": "missions_classification_classification_map_idx", + "columns": [ + { + "expression": "classification_map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_campaign_idx": { + "name": "missions_classification_classification_campaign_idx", + "columns": [ + { + "expression": "classification_campaign_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_setup_idx": { + "name": "missions_game_details_game_setup_game_details_game_setup_idx", + "columns": [ + { + "expression": "game_details_game_setup_mission_file_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_set_1_idx": { + "name": "missions_game_details_game_setup_game_details_game_set_1_idx", + "columns": [ + { + "expression": "game_details_game_setup_required_mods_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_updated_at_idx": { + "name": "missions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_created_at_idx": { + "name": "missions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_cover_image_id_media_id_fk": { + "name": "missions_cover_image_id_media_id_fk", + "tableFrom": "missions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_map_id_maps_id_fk": { + "name": "missions_classification_map_id_maps_id_fk", + "tableFrom": "missions", + "tableTo": "maps", + "columnsFrom": [ + "classification_map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_campaign_id_campaigns_id_fk": { + "name": "missions_classification_campaign_id_campaigns_id_fk", + "tableFrom": "missions", + "tableTo": "campaigns", + "columnsFrom": [ + "classification_campaign_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_mission_file_id_mission_files_id_fk": { + "name": "missions_game_details_game_setup_mission_file_id_mission_files_id_fk", + "tableFrom": "missions", + "tableTo": "mission_files", + "columnsFrom": [ + "game_details_game_setup_mission_file_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk": { + "name": "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk", + "tableFrom": "missions", + "tableTo": "mod_lists", + "columnsFrom": [ + "game_details_game_setup_required_mods_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_rels": { + "name": "missions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_rels_order_idx": { + "name": "missions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_parent_idx": { + "name": "missions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_path_idx": { + "name": "missions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_users_id_idx": { + "name": "missions_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_qualifications_id_idx": { + "name": "missions_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_rels_parent_fk": { + "name": "missions_rels_parent_fk", + "tableFrom": "missions_rels", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_users_fk": { + "name": "missions_rels_users_fk", + "tableFrom": "missions_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_qualifications_fk": { + "name": "missions_rels_qualifications_fk", + "tableFrom": "missions_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_attendances": { + "name": "mission_attendances", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "response": { + "name": "response", + "type": "enum_mission_attendances_response", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mission_attendances_mission_idx": { + "name": "mission_attendances_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_user_idx": { + "name": "mission_attendances_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_updated_at_idx": { + "name": "mission_attendances_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_created_at_idx": { + "name": "mission_attendances_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_attendances_mission_id_missions_id_fk": { + "name": "mission_attendances_mission_id_missions_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "mission_attendances_user_id_users_id_fk": { + "name": "mission_attendances_user_id_users_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.campaigns": { + "name": "campaigns", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'An Arma 3 campaign.'" + }, + "status": { + "name": "status", + "type": "enum_campaigns_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'concept'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "campaigns_name_idx": { + "name": "campaigns_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_cover_image_idx": { + "name": "campaigns_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_updated_at_idx": { + "name": "campaigns_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_created_at_idx": { + "name": "campaigns_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "campaigns_cover_image_id_media_id_fk": { + "name": "campaigns_cover_image_id_media_id_fk", + "tableFrom": "campaigns", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_relationships": { + "name": "factions_relationships", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "target_faction_id": { + "name": "target_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_relationships_order_idx": { + "name": "factions_relationships_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_parent_id_idx": { + "name": "factions_relationships_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_target_faction_idx": { + "name": "factions_relationships_target_faction_idx", + "columns": [ + { + "expression": "target_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_relationships_target_faction_id_factions_id_fk": { + "name": "factions_relationships_target_faction_id_factions_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "target_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "factions_relationships_parent_id_fk": { + "name": "factions_relationships_parent_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions": { + "name": "factions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_factions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'minorFaction'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "reputation": { + "name": "reputation", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "playable_faction": { + "name": "playable_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "starting_faction": { + "name": "starting_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "factions_name_idx": { + "name": "factions_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_cover_image_idx": { + "name": "factions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_updated_at_idx": { + "name": "factions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_created_at_idx": { + "name": "factions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_cover_image_id_media_id_fk": { + "name": "factions_cover_image_id_media_id_fk", + "tableFrom": "factions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_rels": { + "name": "factions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_rels_order_idx": { + "name": "factions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_parent_idx": { + "name": "factions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_path_idx": { + "name": "factions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_campaigns_id_idx": { + "name": "factions_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_rels_parent_fk": { + "name": "factions_rels_parent_fk", + "tableFrom": "factions_rels", + "tableTo": "factions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "factions_rels_campaigns_fk": { + "name": "factions_rels_campaigns_fk", + "tableFrom": "factions_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_requirements_prerequisite_technologies": { + "name": "technologies_requirements_prerequisite_technologies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "technologies_requirements_prerequisite_technologies_order_idx": { + "name": "technologies_requirements_prerequisite_technologies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_requirements_prerequisite_technologies_parent_id_idx": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_requirements_prerequisite_technologies_parent_id_fk": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_fk", + "tableFrom": "technologies_requirements_prerequisite_technologies", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_research_costs_resources": { + "name": "technologies_research_costs_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + } + }, + "indexes": { + "technologies_research_costs_resources_order_idx": { + "name": "technologies_research_costs_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_parent_id_idx": { + "name": "technologies_research_costs_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_resource_idx": { + "name": "technologies_research_costs_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_research_costs_resources_resource_id_resources_id_fk": { + "name": "technologies_research_costs_resources_resource_id_resources_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "technologies_research_costs_resources_parent_id_fk": { + "name": "technologies_research_costs_resources_parent_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies": { + "name": "technologies", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_technologies_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_technologies_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'upgrade'" + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "research_costs_minimum_research_duration": { + "name": "research_costs_minimum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "research_costs_maximum_research_duration": { + "name": "research_costs_maximum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "technologies_updated_at_idx": { + "name": "technologies_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_created_at_idx": { + "name": "technologies_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_rels": { + "name": "technologies_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "technologies_rels_order_idx": { + "name": "technologies_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_parent_idx": { + "name": "technologies_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_path_idx": { + "name": "technologies_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_technologies_id_idx": { + "name": "technologies_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_rels_parent_fk": { + "name": "technologies_rels_parent_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "technologies_rels_technologies_fk": { + "name": "technologies_rels_technologies_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_skin_configuration_applies_to_asset_types": { + "name": "assets_skin_configuration_applies_to_asset_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_assets_skin_configuration_applies_to_asset_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "assets_skin_configuration_applies_to_asset_types_order_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_skin_configuration_applies_to_asset_types_parent_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_skin_configuration_applies_to_asset_types_parent_fk": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_fk", + "tableFrom": "assets_skin_configuration_applies_to_asset_types", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_inputs": { + "name": "assets_crafting_crafting_data_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "lended": { + "name": "lended", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_inputs_order_idx": { + "name": "assets_crafting_crafting_data_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_inputs_parent_id_idx": { + "name": "assets_crafting_crafting_data_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_inputs_parent_id_fk": { + "name": "assets_crafting_crafting_data_inputs_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_inputs", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_byproducts": { + "name": "assets_crafting_crafting_data_byproducts", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_byproducts_order_idx": { + "name": "assets_crafting_crafting_data_byproducts_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_byproducts_parent_id_idx": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_byproducts_parent_id_fk": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_byproducts", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets": { + "name": "assets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_assets_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "class_name": { + "name": "class_name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "asset_type": { + "name": "asset_type", + "type": "enum_assets_asset_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'weapon'" + }, + "weapon_configuration_slot_type": { + "name": "weapon_configuration_slot_type", + "type": "enum_assets_weapon_configuration_slot_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_generation": { + "name": "nightvision_configuration_nvg_generation", + "type": "enum_assets_nightvision_configuration_nvg_generation", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_has_thermals": { + "name": "nightvision_configuration_nvg_has_thermals", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "container_configuration_capacity_kg": { + "name": "container_configuration_capacity_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "container_configuration_weight_kg": { + "name": "container_configuration_weight_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_round_capacity": { + "name": "magazine_configuration_round_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_ammo_type": { + "name": "magazine_configuration_ammo_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_greenmag_compatible": { + "name": "magazine_configuration_greenmag_compatible", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_mod": { + "name": "asset_metadata_mod", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_thumbnail_id": { + "name": "asset_metadata_thumbnail_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_game_description": { + "name": "asset_metadata_game_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "market_trading_rarity": { + "name": "market_trading_rarity", + "type": "enum_assets_market_trading_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_buy_price": { + "name": "market_trading_perceived_value_base_buy_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_sell_price": { + "name": "market_trading_perceived_value_base_sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "crafting_craftable": { + "name": "crafting_craftable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_blueprint_required": { + "name": "crafting_blueprint_required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_technology_required_to_use": { + "name": "crafting_technology_required_to_use", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_crafting_data_crafting_time_per_unit": { + "name": "crafting_crafting_data_crafting_time_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "crafting_crafting_data_batch_size": { + "name": "crafting_crafting_data_batch_size", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_width": { + "name": "storage_dimensions_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_height": { + "name": "storage_dimensions_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_stackable": { + "name": "storage_dimensions_stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "storage_dimensions_max_stack_size": { + "name": "storage_dimensions_max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "storage_dimensions_rotatable": { + "name": "storage_dimensions_rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_live": { + "name": "is_live", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assets_asset_metadata_asset_metadata_thumbnail_idx": { + "name": "assets_asset_metadata_asset_metadata_thumbnail_idx", + "columns": [ + { + "expression": "asset_metadata_thumbnail_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_updated_at_idx": { + "name": "assets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_created_at_idx": { + "name": "assets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_asset_metadata_thumbnail_id_media_id_fk": { + "name": "assets_asset_metadata_thumbnail_id_media_id_fk", + "tableFrom": "assets", + "tableTo": "media", + "columnsFrom": [ + "asset_metadata_thumbnail_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_rels": { + "name": "assets_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_rels_order_idx": { + "name": "assets_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_parent_idx": { + "name": "assets_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_path_idx": { + "name": "assets_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_assets_id_idx": { + "name": "assets_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_technologies_id_idx": { + "name": "assets_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_resources_id_idx": { + "name": "assets_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_structures_id_idx": { + "name": "assets_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_rels_parent_fk": { + "name": "assets_rels_parent_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_assets_fk": { + "name": "assets_rels_assets_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_technologies_fk": { + "name": "assets_rels_technologies_fk", + "tableFrom": "assets_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_resources_fk": { + "name": "assets_rels_resources_fk", + "tableFrom": "assets_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_structures_fk": { + "name": "assets_rels_structures_fk", + "tableFrom": "assets_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources": { + "name": "resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_resources_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_resources_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'physical'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "icon_id": { + "name": "icon_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "base_value": { + "name": "base_value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "rarity": { + "name": "rarity", + "type": "enum_resources_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'common'" + }, + "unit_of_measure": { + "name": "unit_of_measure", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mass_per_unit": { + "name": "mass_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "stack_size": { + "name": "stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "grid_width": { + "name": "grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_height": { + "name": "grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "stackable": { + "name": "stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "max_stack_size": { + "name": "max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "rotatable": { + "name": "rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resources_icon_idx": { + "name": "resources_icon_idx", + "columns": [ + { + "expression": "icon_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_updated_at_idx": { + "name": "resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_created_at_idx": { + "name": "resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_icon_id_media_id_fk": { + "name": "resources_icon_id_media_id_fk", + "tableFrom": "resources", + "tableTo": "media", + "columnsFrom": [ + "icon_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_category": { + "name": "vehicles_category", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_vehicles_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "vehicles_category_order_idx": { + "name": "vehicles_category_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_category_parent_idx": { + "name": "vehicles_category_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_category_parent_fk": { + "name": "vehicles_category_parent_fk", + "tableFrom": "vehicles_category", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_materials": { + "name": "vehicles_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_materials_order_idx": { + "name": "vehicles_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_parent_id_idx": { + "name": "vehicles_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_resource_idx": { + "name": "vehicles_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_materials_resource_id_resources_id_fk": { + "name": "vehicles_materials_resource_id_resources_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_materials_parent_id_fk": { + "name": "vehicles_materials_parent_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_scrap_returns": { + "name": "vehicles_scrap_returns", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "chance": { + "name": "chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "vehicles_scrap_returns_order_idx": { + "name": "vehicles_scrap_returns_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_parent_id_idx": { + "name": "vehicles_scrap_returns_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_resource_idx": { + "name": "vehicles_scrap_returns_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_scrap_returns_resource_id_resources_id_fk": { + "name": "vehicles_scrap_returns_resource_id_resources_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_scrap_returns_parent_id_fk": { + "name": "vehicles_scrap_returns_parent_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_upkeep_costs": { + "name": "vehicles_upkeep_costs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_upkeep_costs_order_idx": { + "name": "vehicles_upkeep_costs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_parent_id_idx": { + "name": "vehicles_upkeep_costs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_resource_idx": { + "name": "vehicles_upkeep_costs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_upkeep_costs_resource_id_resources_id_fk": { + "name": "vehicles_upkeep_costs_resource_id_resources_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_upkeep_costs_parent_id_fk": { + "name": "vehicles_upkeep_costs_parent_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_allowed_virtual_cargo": { + "name": "vehicles_allowed_virtual_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_allowed_virtual_cargo_order_idx": { + "name": "vehicles_allowed_virtual_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_allowed_virtual_cargo_parent_id_idx": { + "name": "vehicles_allowed_virtual_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_allowed_virtual_cargo_parent_id_fk": { + "name": "vehicles_allowed_virtual_cargo_parent_id_fk", + "tableFrom": "vehicles_allowed_virtual_cargo", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_pylons": { + "name": "vehicles_pylons", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "pylon_name": { + "name": "pylon_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "pylon_type": { + "name": "pylon_type", + "type": "enum_vehicles_pylons_pylon_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'mountedWeapon'" + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "ammo_type_id": { + "name": "ammo_type_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_pylons_order_idx": { + "name": "vehicles_pylons_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_parent_id_idx": { + "name": "vehicles_pylons_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_ammo_type_idx": { + "name": "vehicles_pylons_ammo_type_idx", + "columns": [ + { + "expression": "ammo_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_pylons_ammo_type_id_assets_id_fk": { + "name": "vehicles_pylons_ammo_type_id_assets_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "assets", + "columnsFrom": [ + "ammo_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_pylons_parent_id_fk": { + "name": "vehicles_pylons_parent_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles": { + "name": "vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "classname": { + "name": "classname", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "approval_status": { + "name": "approval_status", + "type": "enum_vehicles_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "fuel_fuel_type_id": { + "name": "fuel_fuel_type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_capacity": { + "name": "fuel_fuel_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_consumption_rate": { + "name": "fuel_fuel_consumption_rate", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "construction_time": { + "name": "construction_time", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_mass": { + "name": "max_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ace_cargo_slots": { + "name": "ace_cargo_slots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "armor_rating": { + "name": "armor_rating", + "type": "enum_vehicles_armor_rating", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_speed_on_road": { + "name": "max_speed_on_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_speed_off_road": { + "name": "max_speed_off_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_airspeed": { + "name": "max_airspeed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_knots": { + "name": "max_knots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "vehicles_image_idx": { + "name": "vehicles_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_fuel_fuel_fuel_type_idx": { + "name": "vehicles_fuel_fuel_fuel_type_idx", + "columns": [ + { + "expression": "fuel_fuel_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_updated_at_idx": { + "name": "vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_created_at_idx": { + "name": "vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_image_id_media_id_fk": { + "name": "vehicles_image_id_media_id_fk", + "tableFrom": "vehicles", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_fuel_fuel_type_id_resources_id_fk": { + "name": "vehicles_fuel_fuel_type_id_resources_id_fk", + "tableFrom": "vehicles", + "tableTo": "resources", + "columnsFrom": [ + "fuel_fuel_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_rels": { + "name": "vehicles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_rels_order_idx": { + "name": "vehicles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_parent_idx": { + "name": "vehicles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_path_idx": { + "name": "vehicles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_technologies_id_idx": { + "name": "vehicles_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_assets_id_idx": { + "name": "vehicles_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_vehicles_id_idx": { + "name": "vehicles_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_resources_id_idx": { + "name": "vehicles_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_rels_parent_fk": { + "name": "vehicles_rels_parent_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_technologies_fk": { + "name": "vehicles_rels_technologies_fk", + "tableFrom": "vehicles_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_assets_fk": { + "name": "vehicles_rels_assets_fk", + "tableFrom": "vehicles_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_vehicles_fk": { + "name": "vehicles_rels_vehicles_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_resources_fk": { + "name": "vehicles_rels_resources_fk", + "tableFrom": "vehicles_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_materials": { + "name": "structures_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_materials_order_idx": { + "name": "structures_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_parent_id_idx": { + "name": "structures_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_resource_idx": { + "name": "structures_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_materials_resource_id_resources_id_fk": { + "name": "structures_materials_resource_id_resources_id_fk", + "tableFrom": "structures_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_materials_parent_id_fk": { + "name": "structures_materials_parent_id_fk", + "tableFrom": "structures_materials", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_resources_in_range": { + "name": "structures_resources_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_resources_in_range_order_idx": { + "name": "structures_resources_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_parent_id_idx": { + "name": "structures_resources_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_resource_idx": { + "name": "structures_resources_in_range_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_resources_in_range_resource_id_resources_id_fk": { + "name": "structures_resources_in_range_resource_id_resources_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_resources_in_range_parent_id_fk": { + "name": "structures_resources_in_range_parent_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_structures_in_range": { + "name": "structures_structures_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_structures_in_range_order_idx": { + "name": "structures_structures_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_parent_id_idx": { + "name": "structures_structures_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_structure_idx": { + "name": "structures_structures_in_range_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_structures_in_range_structure_id_structures_id_fk": { + "name": "structures_structures_in_range_structure_id_structures_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_structures_in_range_parent_id_fk": { + "name": "structures_structures_in_range_parent_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_upkeep": { + "name": "structures_upkeep", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_upkeep_order_idx": { + "name": "structures_upkeep_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_parent_id_idx": { + "name": "structures_upkeep_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_resource_idx": { + "name": "structures_upkeep_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_upkeep_resource_id_resources_id_fk": { + "name": "structures_upkeep_resource_id_resources_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upkeep_parent_id_fk": { + "name": "structures_upkeep_parent_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_auto_generated_resources": { + "name": "structures_auto_generated_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "min_amount": { + "name": "min_amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "max_amount": { + "name": "max_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_frequency": { + "name": "min_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'1'" + }, + "max_frequency": { + "name": "max_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "produce_chance": { + "name": "produce_chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "structures_auto_generated_resources_order_idx": { + "name": "structures_auto_generated_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_parent_id_idx": { + "name": "structures_auto_generated_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_resource_idx": { + "name": "structures_auto_generated_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_auto_generated_resources_resource_id_resources_id_fk": { + "name": "structures_auto_generated_resources_resource_id_resources_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_auto_generated_resources_parent_id_fk": { + "name": "structures_auto_generated_resources_parent_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_allowed_storage": { + "name": "structures_allowed_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_allowed_storage_order_idx": { + "name": "structures_allowed_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_allowed_storage_parent_id_idx": { + "name": "structures_allowed_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_allowed_storage_parent_id_fk": { + "name": "structures_allowed_storage_parent_id_fk", + "tableFrom": "structures_allowed_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_prohibited_storage": { + "name": "structures_prohibited_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "structures_prohibited_storage_order_idx": { + "name": "structures_prohibited_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_prohibited_storage_parent_id_idx": { + "name": "structures_prohibited_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_prohibited_storage_parent_id_fk": { + "name": "structures_prohibited_storage_parent_id_fk", + "tableFrom": "structures_prohibited_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures": { + "name": "structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_structures_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "category": { + "name": "category", + "type": "enum_structures_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "construction_time": { + "name": "construction_time", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "requires_upgrade": { + "name": "requires_upgrade", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "upgrades_into_id": { + "name": "upgrades_into_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "upgrade_cost_multiplier": { + "name": "upgrade_cost_multiplier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "terrain_type": { + "name": "terrain_type", + "type": "enum_structures_terrain_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "sell_price": { + "name": "sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "function_type": { + "name": "function_type", + "type": "enum_structures_function_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_capacity_mass": { + "name": "max_capacity_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "restrict_to_allowed": { + "name": "restrict_to_allowed", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "x_size": { + "name": "x_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "y_size": { + "name": "y_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "repair_speed": { + "name": "repair_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "structures_image_idx": { + "name": "structures_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upgrades_into_idx": { + "name": "structures_upgrades_into_idx", + "columns": [ + { + "expression": "upgrades_into_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_updated_at_idx": { + "name": "structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_created_at_idx": { + "name": "structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_image_id_media_id_fk": { + "name": "structures_image_id_media_id_fk", + "tableFrom": "structures", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upgrades_into_id_structures_id_fk": { + "name": "structures_upgrades_into_id_structures_id_fk", + "tableFrom": "structures", + "tableTo": "structures", + "columnsFrom": [ + "upgrades_into_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_rels": { + "name": "structures_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_rels_order_idx": { + "name": "structures_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_parent_idx": { + "name": "structures_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_path_idx": { + "name": "structures_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_technologies_id_idx": { + "name": "structures_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_assets_id_idx": { + "name": "structures_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_vehicles_id_idx": { + "name": "structures_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_resources_id_idx": { + "name": "structures_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_rels_parent_fk": { + "name": "structures_rels_parent_fk", + "tableFrom": "structures_rels", + "tableTo": "structures", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_technologies_fk": { + "name": "structures_rels_technologies_fk", + "tableFrom": "structures_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_assets_fk": { + "name": "structures_rels_assets_fk", + "tableFrom": "structures_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_vehicles_fk": { + "name": "structures_rels_vehicles_fk", + "tableFrom": "structures_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_resources_fk": { + "name": "structures_rels_resources_fk", + "tableFrom": "structures_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_cargo": { + "name": "shipments_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "shipments_cargo_order_idx": { + "name": "shipments_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_cargo_parent_id_idx": { + "name": "shipments_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_cargo_parent_id_fk": { + "name": "shipments_cargo_parent_id_fk", + "tableFrom": "shipments_cargo", + "tableTo": "shipments", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments": { + "name": "shipments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "origin_id": { + "name": "origin_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "destination_id": { + "name": "destination_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "transport_vehicle_id": { + "name": "transport_vehicle_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "distance": { + "name": "distance", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_cost": { + "name": "fuel_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_consumed": { + "name": "fuel_consumed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_shipments_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "dispatched_at": { + "name": "dispatched_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "estimated_arrival": { + "name": "estimated_arrival", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "auto_return": { + "name": "auto_return", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "failure_reason": { + "name": "failure_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "shipments_origin_idx": { + "name": "shipments_origin_idx", + "columns": [ + { + "expression": "origin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_destination_idx": { + "name": "shipments_destination_idx", + "columns": [ + { + "expression": "destination_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_transport_vehicle_idx": { + "name": "shipments_transport_vehicle_idx", + "columns": [ + { + "expression": "transport_vehicle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_by_idx": { + "name": "shipments_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_updated_at_idx": { + "name": "shipments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_at_idx": { + "name": "shipments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_origin_id_game_structures_id_fk": { + "name": "shipments_origin_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "origin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_destination_id_game_structures_id_fk": { + "name": "shipments_destination_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "destination_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_transport_vehicle_id_game_vehicles_id_fk": { + "name": "shipments_transport_vehicle_id_game_vehicles_id_fk", + "tableFrom": "shipments", + "tableTo": "game_vehicles", + "columnsFrom": [ + "transport_vehicle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_created_by_id_users_id_fk": { + "name": "shipments_created_by_id_users_id_fk", + "tableFrom": "shipments", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_rels": { + "name": "shipments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shipments_rels_order_idx": { + "name": "shipments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_parent_idx": { + "name": "shipments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_path_idx": { + "name": "shipments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_resources_id_idx": { + "name": "shipments_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_assets_id_idx": { + "name": "shipments_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_vehicles_id_idx": { + "name": "shipments_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_rels_parent_fk": { + "name": "shipments_rels_parent_fk", + "tableFrom": "shipments_rels", + "tableTo": "shipments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_resources_fk": { + "name": "shipments_rels_resources_fk", + "tableFrom": "shipments_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_assets_fk": { + "name": "shipments_rels_assets_fk", + "tableFrom": "shipments_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_vehicles_fk": { + "name": "shipments_rels_vehicles_fk", + "tableFrom": "shipments_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_accounts": { + "name": "bank_accounts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "account_type": { + "name": "account_type", + "type": "enum_bank_accounts_account_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'personal'" + }, + "owner_faction_id": { + "name": "owner_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "balance": { + "name": "balance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_bank_accounts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_accounts_owner_faction_idx": { + "name": "bank_accounts_owner_faction_idx", + "columns": [ + { + "expression": "owner_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_owner_user_idx": { + "name": "bank_accounts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_currency_idx": { + "name": "bank_accounts_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_updated_at_idx": { + "name": "bank_accounts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_accounts_owner_faction_id_factions_id_fk": { + "name": "bank_accounts_owner_faction_id_factions_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "factions", + "columnsFrom": [ + "owner_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_owner_user_id_users_id_fk": { + "name": "bank_accounts_owner_user_id_users_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_currency_id_resources_id_fk": { + "name": "bank_accounts_currency_id_resources_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_transactions": { + "name": "bank_transactions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "transaction_number": { + "name": "transaction_number", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_bank_transactions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "from_account_id": { + "name": "from_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_account_id": { + "name": "to_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fee": { + "name": "fee", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_bank_transactions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'completed'" + }, + "reference_id": { + "name": "reference_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_transactions_transaction_number_idx": { + "name": "bank_transactions_transaction_number_idx", + "columns": [ + { + "expression": "transaction_number", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_from_account_idx": { + "name": "bank_transactions_from_account_idx", + "columns": [ + { + "expression": "from_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_to_account_idx": { + "name": "bank_transactions_to_account_idx", + "columns": [ + { + "expression": "to_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_actor_idx": { + "name": "bank_transactions_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_reference_idx": { + "name": "bank_transactions_reference_idx", + "columns": [ + { + "expression": "reference_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_updated_at_idx": { + "name": "bank_transactions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_created_at_idx": { + "name": "bank_transactions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_transactions_from_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_from_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "from_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_to_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_to_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "to_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_actor_id_users_id_fk": { + "name": "bank_transactions_actor_id_users_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_reference_id_bank_transactions_id_fk": { + "name": "bank_transactions_reference_id_bank_transactions_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_transactions", + "columnsFrom": [ + "reference_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ledger_entries": { + "name": "ledger_entries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "transaction_id": { + "name": "transaction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_ledger_entries_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "balance_after": { + "name": "balance_after", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ledger_entries_account_idx": { + "name": "ledger_entries_account_idx", + "columns": [ + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_transaction_idx": { + "name": "ledger_entries_transaction_idx", + "columns": [ + { + "expression": "transaction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_updated_at_idx": { + "name": "ledger_entries_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_created_at_idx": { + "name": "ledger_entries_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ledger_entries_account_id_bank_accounts_id_fk": { + "name": "ledger_entries_account_id_bank_accounts_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_accounts", + "columnsFrom": [ + "account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ledger_entries_transaction_id_bank_transactions_id_fk": { + "name": "ledger_entries_transaction_id_bank_transactions_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_transactions", + "columnsFrom": [ + "transaction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items_equipment_attachments": { + "name": "locker_storages_items_equipment_attachments", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "locker_storages_items_equipment_attachments_order_idx": { + "name": "locker_storages_items_equipment_attachments_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_parent_id_idx": { + "name": "locker_storages_items_equipment_attachments_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_asset_idx": { + "name": "locker_storages_items_equipment_attachments_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_equipment_attachments_asset_id_assets_id_fk": { + "name": "locker_storages_items_equipment_attachments_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_attachments_parent_id_fk": { + "name": "locker_storages_items_equipment_attachments_parent_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "locker_storages_items", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items": { + "name": "locker_storages_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "equipment_skin_id": { + "name": "equipment_skin_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "equipment_custom_name": { + "name": "equipment_custom_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "locker_storages_items_order_idx": { + "name": "locker_storages_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_parent_id_idx": { + "name": "locker_storages_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_asset_idx": { + "name": "locker_storages_items_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_equipment_skin_idx": { + "name": "locker_storages_items_equipment_equipment_skin_idx", + "columns": [ + { + "expression": "equipment_skin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_asset_id_assets_id_fk": { + "name": "locker_storages_items_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_skin_id_assets_id_fk": { + "name": "locker_storages_items_equipment_skin_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "equipment_skin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_parent_id_fk": { + "name": "locker_storages_items_parent_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "locker_storages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages": { + "name": "locker_storages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'Personal Locker'" + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "item_count": { + "name": "item_count", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "locker_storages_owner_user_idx": { + "name": "locker_storages_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_updated_at_idx": { + "name": "locker_storages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_created_at_idx": { + "name": "locker_storages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_owner_user_id_users_id_fk": { + "name": "locker_storages_owner_user_id_users_id_fk", + "tableFrom": "locker_storages", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.loadouts": { + "name": "loadouts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "equipped": { + "name": "equipped", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "slots_primary_id": { + "name": "slots_primary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_secondary_id": { + "name": "slots_secondary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_launcher_id": { + "name": "slots_launcher_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_uniform_id": { + "name": "slots_uniform_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_vest_id": { + "name": "slots_vest_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_backpack_id": { + "name": "slots_backpack_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_helmet_id": { + "name": "slots_helmet_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_facewear_id": { + "name": "slots_facewear_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_nvg_id": { + "name": "slots_nvg_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_radio_id": { + "name": "slots_radio_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_optic_id": { + "name": "slots_optic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_muzzle_id": { + "name": "slots_muzzle_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_bipod_id": { + "name": "slots_bipod_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "loadouts_owner_user_idx": { + "name": "loadouts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_primary_idx": { + "name": "loadouts_slots_slots_primary_idx", + "columns": [ + { + "expression": "slots_primary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_secondary_idx": { + "name": "loadouts_slots_slots_secondary_idx", + "columns": [ + { + "expression": "slots_secondary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_launcher_idx": { + "name": "loadouts_slots_slots_launcher_idx", + "columns": [ + { + "expression": "slots_launcher_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_uniform_idx": { + "name": "loadouts_slots_slots_uniform_idx", + "columns": [ + { + "expression": "slots_uniform_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_vest_idx": { + "name": "loadouts_slots_slots_vest_idx", + "columns": [ + { + "expression": "slots_vest_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_backpack_idx": { + "name": "loadouts_slots_slots_backpack_idx", + "columns": [ + { + "expression": "slots_backpack_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_helmet_idx": { + "name": "loadouts_slots_slots_helmet_idx", + "columns": [ + { + "expression": "slots_helmet_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_facewear_idx": { + "name": "loadouts_slots_slots_facewear_idx", + "columns": [ + { + "expression": "slots_facewear_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_nvg_idx": { + "name": "loadouts_slots_slots_nvg_idx", + "columns": [ + { + "expression": "slots_nvg_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_radio_idx": { + "name": "loadouts_slots_slots_radio_idx", + "columns": [ + { + "expression": "slots_radio_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_optic_idx": { + "name": "loadouts_slots_slots_optic_idx", + "columns": [ + { + "expression": "slots_optic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_muzzle_idx": { + "name": "loadouts_slots_slots_muzzle_idx", + "columns": [ + { + "expression": "slots_muzzle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_bipod_idx": { + "name": "loadouts_slots_slots_bipod_idx", + "columns": [ + { + "expression": "slots_bipod_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_updated_at_idx": { + "name": "loadouts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_created_at_idx": { + "name": "loadouts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "loadouts_owner_user_id_users_id_fk": { + "name": "loadouts_owner_user_id_users_id_fk", + "tableFrom": "loadouts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_primary_id_assets_id_fk": { + "name": "loadouts_slots_primary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_primary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_secondary_id_assets_id_fk": { + "name": "loadouts_slots_secondary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_secondary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_launcher_id_assets_id_fk": { + "name": "loadouts_slots_launcher_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_launcher_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_uniform_id_assets_id_fk": { + "name": "loadouts_slots_uniform_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_uniform_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_vest_id_assets_id_fk": { + "name": "loadouts_slots_vest_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_vest_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_backpack_id_assets_id_fk": { + "name": "loadouts_slots_backpack_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_backpack_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_helmet_id_assets_id_fk": { + "name": "loadouts_slots_helmet_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_helmet_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_facewear_id_assets_id_fk": { + "name": "loadouts_slots_facewear_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_facewear_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_nvg_id_assets_id_fk": { + "name": "loadouts_slots_nvg_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_nvg_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_radio_id_assets_id_fk": { + "name": "loadouts_slots_radio_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_radio_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_optic_id_assets_id_fk": { + "name": "loadouts_slots_optic_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_optic_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_muzzle_id_assets_id_fk": { + "name": "loadouts_slots_muzzle_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_muzzle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_bipod_id_assets_id_fk": { + "name": "loadouts_slots_bipod_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_bipod_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_listings": { + "name": "market_listings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "seller_id": { + "name": "seller_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "npc_id": { + "name": "npc_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "desired_price": { + "name": "desired_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_price": { + "name": "min_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_market_listings_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "is_auto_generated": { + "name": "is_auto_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "listed_at": { + "name": "listed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "sold_at": { + "name": "sold_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_listings_asset_idx": { + "name": "market_listings_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_seller_idx": { + "name": "market_listings_seller_idx", + "columns": [ + { + "expression": "seller_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_npc_idx": { + "name": "market_listings_npc_idx", + "columns": [ + { + "expression": "npc_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_currency_idx": { + "name": "market_listings_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_status_idx": { + "name": "market_listings_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_buyer_idx": { + "name": "market_listings_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_updated_at_idx": { + "name": "market_listings_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_created_at_idx": { + "name": "market_listings_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_listings_asset_id_assets_id_fk": { + "name": "market_listings_asset_id_assets_id_fk", + "tableFrom": "market_listings", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_seller_id_users_id_fk": { + "name": "market_listings_seller_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "seller_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_npc_id_game_npcs_id_fk": { + "name": "market_listings_npc_id_game_npcs_id_fk", + "tableFrom": "market_listings", + "tableTo": "game_npcs", + "columnsFrom": [ + "npc_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_currency_id_resources_id_fk": { + "name": "market_listings_currency_id_resources_id_fk", + "tableFrom": "market_listings", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_buyer_id_users_id_fk": { + "name": "market_listings_buyer_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations_history": { + "name": "market_negotiations_history", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "from": { + "name": "from", + "type": "enum_market_negotiations_history_from", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "note": { + "name": "note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "at": { + "name": "at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "market_negotiations_history_order_idx": { + "name": "market_negotiations_history_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_history_parent_id_idx": { + "name": "market_negotiations_history_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_history_parent_id_fk": { + "name": "market_negotiations_history_parent_id_fk", + "tableFrom": "market_negotiations_history", + "tableTo": "market_negotiations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations": { + "name": "market_negotiations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "listing_id": { + "name": "listing_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_market_negotiations_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "patience": { + "name": "patience", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "proposed_by": { + "name": "proposed_by", + "type": "enum_market_negotiations_proposed_by", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'buyer'" + }, + "accepted_price": { + "name": "accepted_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_negotiations_listing_idx": { + "name": "market_negotiations_listing_idx", + "columns": [ + { + "expression": "listing_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_buyer_idx": { + "name": "market_negotiations_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_status_idx": { + "name": "market_negotiations_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_updated_at_idx": { + "name": "market_negotiations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_created_at_idx": { + "name": "market_negotiations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_listing_id_market_listings_id_fk": { + "name": "market_negotiations_listing_id_market_listings_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "market_listings", + "columnsFrom": [ + "listing_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_negotiations_buyer_id_users_id_fk": { + "name": "market_negotiations_buyer_id_users_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_activity": { + "name": "tickets_activity", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_tickets_activity_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'system'" + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_activity_order_idx": { + "name": "tickets_activity_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_parent_id_idx": { + "name": "tickets_activity_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_author_idx": { + "name": "tickets_activity_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_activity_author_id_users_id_fk": { + "name": "tickets_activity_author_id_users_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_activity_parent_id_fk": { + "name": "tickets_activity_parent_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "tickets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets": { + "name": "tickets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_tickets_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'support_request'" + }, + "priority": { + "name": "priority", + "type": "enum_tickets_priority", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'medium'" + }, + "status": { + "name": "status", + "type": "enum_tickets_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "reporter_id": { + "name": "reporter_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "assignee_id": { + "name": "assignee_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "closed_at": { + "name": "closed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "tickets_category_idx": { + "name": "tickets_category_idx", + "columns": [ + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_priority_idx": { + "name": "tickets_priority_idx", + "columns": [ + { + "expression": "priority", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_status_idx": { + "name": "tickets_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_reporter_idx": { + "name": "tickets_reporter_idx", + "columns": [ + { + "expression": "reporter_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_assignee_idx": { + "name": "tickets_assignee_idx", + "columns": [ + { + "expression": "assignee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_updated_at_idx": { + "name": "tickets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_created_at_idx": { + "name": "tickets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_reporter_id_users_id_fk": { + "name": "tickets_reporter_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "reporter_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_assignee_id_users_id_fk": { + "name": "tickets_assignee_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "assignee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.maps": { + "name": "maps", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "file_name": { + "name": "file_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "maps_name_idx": { + "name": "maps_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_file_name_idx": { + "name": "maps_file_name_idx", + "columns": [ + { + "expression": "file_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_updated_at_idx": { + "name": "maps_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_created_at_idx": { + "name": "maps_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.narrative_events": { + "name": "narrative_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "flow_data": { + "name": "flow_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "triggers_type": { + "name": "triggers_type", + "type": "enum_narrative_events_triggers_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'manual'" + }, + "triggers_condition": { + "name": "triggers_condition", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "narrative_events_updated_at_idx": { + "name": "narrative_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "narrative_events_created_at_idx": { + "name": "narrative_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_files": { + "name": "mission_files", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_file_name": { + "name": "mission_file_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mission_files_author_idx": { + "name": "mission_files_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_updated_at_idx": { + "name": "mission_files_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_created_at_idx": { + "name": "mission_files_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_filename_idx": { + "name": "mission_files_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_files_author_id_users_id_fk": { + "name": "mission_files_author_id_users_id_fk", + "tableFrom": "mission_files", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mod_lists": { + "name": "mod_lists", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "modlist_name": { + "name": "modlist_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mod_lists_author_idx": { + "name": "mod_lists_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_updated_at_idx": { + "name": "mod_lists_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_created_at_idx": { + "name": "mod_lists_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_filename_idx": { + "name": "mod_lists_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mod_lists_author_id_users_id_fk": { + "name": "mod_lists_author_id_users_id_fk", + "tableFrom": "mod_lists", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_kv": { + "name": "payload_kv", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "payload_kv_key_idx": { + "name": "payload_kv_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents": { + "name": "payload_locked_documents", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_hard_resources_id": { + "name": "game_hard_resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_structures_id": { + "name": "game_structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_vehicles_id": { + "name": "game_vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_npcs_id": { + "name": "game_npcs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_event_logs_id": { + "name": "game_event_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ranks_id": { + "name": "ranks_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "profiles_id": { + "name": "profiles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "awards_id": { + "name": "awards_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_id": { + "name": "experience_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "user_notifications_id": { + "name": "user_notifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "missions_id": { + "name": "missions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_attendances_id": { + "name": "mission_attendances_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "factions_id": { + "name": "factions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "shipments_id": { + "name": "shipments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_accounts_id": { + "name": "bank_accounts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_transactions_id": { + "name": "bank_transactions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ledger_entries_id": { + "name": "ledger_entries_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locker_storages_id": { + "name": "locker_storages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "loadouts_id": { + "name": "loadouts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_listings_id": { + "name": "market_listings_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_negotiations_id": { + "name": "market_negotiations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tickets_id": { + "name": "tickets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "maps_id": { + "name": "maps_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "narrative_events_id": { + "name": "narrative_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_files_id": { + "name": "mission_files_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mod_lists_id": { + "name": "mod_lists_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_hard_resources_id_idx": { + "name": "payload_locked_documents_rels_game_hard_resources_id_idx", + "columns": [ + { + "expression": "game_hard_resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_structures_id_idx": { + "name": "payload_locked_documents_rels_game_structures_id_idx", + "columns": [ + { + "expression": "game_structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_vehicles_id_idx": { + "name": "payload_locked_documents_rels_game_vehicles_id_idx", + "columns": [ + { + "expression": "game_vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_npcs_id_idx": { + "name": "payload_locked_documents_rels_game_npcs_id_idx", + "columns": [ + { + "expression": "game_npcs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_event_logs_id_idx": { + "name": "payload_locked_documents_rels_game_event_logs_id_idx", + "columns": [ + { + "expression": "game_event_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ranks_id_idx": { + "name": "payload_locked_documents_rels_ranks_id_idx", + "columns": [ + { + "expression": "ranks_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_profiles_id_idx": { + "name": "payload_locked_documents_rels_profiles_id_idx", + "columns": [ + { + "expression": "profiles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_awards_id_idx": { + "name": "payload_locked_documents_rels_awards_id_idx", + "columns": [ + { + "expression": "awards_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_qualifications_id_idx": { + "name": "payload_locked_documents_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assignments_id_idx": { + "name": "payload_locked_documents_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_experience_id_idx": { + "name": "payload_locked_documents_rels_experience_id_idx", + "columns": [ + { + "expression": "experience_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_user_notifications_id_idx": { + "name": "payload_locked_documents_rels_user_notifications_id_idx", + "columns": [ + { + "expression": "user_notifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_missions_id_idx": { + "name": "payload_locked_documents_rels_missions_id_idx", + "columns": [ + { + "expression": "missions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_attendances_id_idx": { + "name": "payload_locked_documents_rels_mission_attendances_id_idx", + "columns": [ + { + "expression": "mission_attendances_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_campaigns_id_idx": { + "name": "payload_locked_documents_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_factions_id_idx": { + "name": "payload_locked_documents_rels_factions_id_idx", + "columns": [ + { + "expression": "factions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_technologies_id_idx": { + "name": "payload_locked_documents_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assets_id_idx": { + "name": "payload_locked_documents_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resources_id_idx": { + "name": "payload_locked_documents_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_vehicles_id_idx": { + "name": "payload_locked_documents_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_structures_id_idx": { + "name": "payload_locked_documents_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_shipments_id_idx": { + "name": "payload_locked_documents_rels_shipments_id_idx", + "columns": [ + { + "expression": "shipments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_accounts_id_idx": { + "name": "payload_locked_documents_rels_bank_accounts_id_idx", + "columns": [ + { + "expression": "bank_accounts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_transactions_id_idx": { + "name": "payload_locked_documents_rels_bank_transactions_id_idx", + "columns": [ + { + "expression": "bank_transactions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ledger_entries_id_idx": { + "name": "payload_locked_documents_rels_ledger_entries_id_idx", + "columns": [ + { + "expression": "ledger_entries_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_locker_storages_id_idx": { + "name": "payload_locked_documents_rels_locker_storages_id_idx", + "columns": [ + { + "expression": "locker_storages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_loadouts_id_idx": { + "name": "payload_locked_documents_rels_loadouts_id_idx", + "columns": [ + { + "expression": "loadouts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_listings_id_idx": { + "name": "payload_locked_documents_rels_market_listings_id_idx", + "columns": [ + { + "expression": "market_listings_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_negotiations_id_idx": { + "name": "payload_locked_documents_rels_market_negotiations_id_idx", + "columns": [ + { + "expression": "market_negotiations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tickets_id_idx": { + "name": "payload_locked_documents_rels_tickets_id_idx", + "columns": [ + { + "expression": "tickets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_maps_id_idx": { + "name": "payload_locked_documents_rels_maps_id_idx", + "columns": [ + { + "expression": "maps_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_narrative_events_id_idx": { + "name": "payload_locked_documents_rels_narrative_events_id_idx", + "columns": [ + { + "expression": "narrative_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_files_id_idx": { + "name": "payload_locked_documents_rels_mission_files_id_idx", + "columns": [ + { + "expression": "mission_files_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mod_lists_id_idx": { + "name": "payload_locked_documents_rels_mod_lists_id_idx", + "columns": [ + { + "expression": "mod_lists_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": [ + "media_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_hard_resources_fk": { + "name": "payload_locked_documents_rels_game_hard_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_hard_resources", + "columnsFrom": [ + "game_hard_resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_structures_fk": { + "name": "payload_locked_documents_rels_game_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_structures", + "columnsFrom": [ + "game_structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_vehicles_fk": { + "name": "payload_locked_documents_rels_game_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_vehicles", + "columnsFrom": [ + "game_vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_npcs_fk": { + "name": "payload_locked_documents_rels_game_npcs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "game_npcs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_event_logs_fk": { + "name": "payload_locked_documents_rels_game_event_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_event_logs", + "columnsFrom": [ + "game_event_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ranks_fk": { + "name": "payload_locked_documents_rels_ranks_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ranks", + "columnsFrom": [ + "ranks_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_profiles_fk": { + "name": "payload_locked_documents_rels_profiles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "profiles", + "columnsFrom": [ + "profiles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_awards_fk": { + "name": "payload_locked_documents_rels_awards_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "awards", + "columnsFrom": [ + "awards_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_qualifications_fk": { + "name": "payload_locked_documents_rels_qualifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assignments_fk": { + "name": "payload_locked_documents_rels_assignments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_experience_fk": { + "name": "payload_locked_documents_rels_experience_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "experience", + "columnsFrom": [ + "experience_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_user_notifications_fk": { + "name": "payload_locked_documents_rels_user_notifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "user_notifications", + "columnsFrom": [ + "user_notifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_missions_fk": { + "name": "payload_locked_documents_rels_missions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "missions", + "columnsFrom": [ + "missions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_attendances_fk": { + "name": "payload_locked_documents_rels_mission_attendances_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_attendances", + "columnsFrom": [ + "mission_attendances_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_campaigns_fk": { + "name": "payload_locked_documents_rels_campaigns_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_factions_fk": { + "name": "payload_locked_documents_rels_factions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "factions", + "columnsFrom": [ + "factions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_technologies_fk": { + "name": "payload_locked_documents_rels_technologies_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assets_fk": { + "name": "payload_locked_documents_rels_assets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resources_fk": { + "name": "payload_locked_documents_rels_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_vehicles_fk": { + "name": "payload_locked_documents_rels_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_structures_fk": { + "name": "payload_locked_documents_rels_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_shipments_fk": { + "name": "payload_locked_documents_rels_shipments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "shipments", + "columnsFrom": [ + "shipments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_accounts_fk": { + "name": "payload_locked_documents_rels_bank_accounts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_accounts", + "columnsFrom": [ + "bank_accounts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_transactions_fk": { + "name": "payload_locked_documents_rels_bank_transactions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_transactions", + "columnsFrom": [ + "bank_transactions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ledger_entries_fk": { + "name": "payload_locked_documents_rels_ledger_entries_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ledger_entries", + "columnsFrom": [ + "ledger_entries_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_locker_storages_fk": { + "name": "payload_locked_documents_rels_locker_storages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "locker_storages", + "columnsFrom": [ + "locker_storages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_loadouts_fk": { + "name": "payload_locked_documents_rels_loadouts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "loadouts", + "columnsFrom": [ + "loadouts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_listings_fk": { + "name": "payload_locked_documents_rels_market_listings_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_listings", + "columnsFrom": [ + "market_listings_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_negotiations_fk": { + "name": "payload_locked_documents_rels_market_negotiations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_negotiations", + "columnsFrom": [ + "market_negotiations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tickets_fk": { + "name": "payload_locked_documents_rels_tickets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tickets", + "columnsFrom": [ + "tickets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_maps_fk": { + "name": "payload_locked_documents_rels_maps_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "maps", + "columnsFrom": [ + "maps_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_narrative_events_fk": { + "name": "payload_locked_documents_rels_narrative_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "narrative_events", + "columnsFrom": [ + "narrative_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_files_fk": { + "name": "payload_locked_documents_rels_mission_files_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_files", + "columnsFrom": [ + "mission_files_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mod_lists_fk": { + "name": "payload_locked_documents_rels_mod_lists_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mod_lists", + "columnsFrom": [ + "mod_lists_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules": { + "name": "game_rules", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "main_currency_id": { + "name": "main_currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "proximity_threshold": { + "name": "proximity_threshold", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "game_tick_interval_minutes": { + "name": "game_tick_interval_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_width": { + "name": "locker_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_height": { + "name": "locker_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 6 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_main_currency_idx": { + "name": "game_rules_main_currency_idx", + "columns": [ + { + "expression": "main_currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_main_currency_id_resources_id_fk": { + "name": "game_rules_main_currency_id_resources_id_fk", + "tableFrom": "game_rules", + "tableTo": "resources", + "columnsFrom": [ + "main_currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules_rels": { + "name": "game_rules_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_rels_order_idx": { + "name": "game_rules_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_parent_idx": { + "name": "game_rules_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_path_idx": { + "name": "game_rules_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_assignments_id_idx": { + "name": "game_rules_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_rels_parent_fk": { + "name": "game_rules_rels_parent_fk", + "tableFrom": "game_rules_rels", + "tableTo": "game_rules", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_rules_rels_assignments_fk": { + "name": "game_rules_rels_assignments_fk", + "tableFrom": "game_rules_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_shims": { + "name": "shims_shims", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_shims_shims_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'css'" + } + }, + "indexes": { + "shims_shims_order_idx": { + "name": "shims_shims_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_parent_id_idx": { + "name": "shims_shims_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_name_idx": { + "name": "shims_shims_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_shims_parent_id_fk": { + "name": "shims_shims_parent_id_fk", + "tableFrom": "shims_shims", + "tableTo": "shims", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims": { + "name": "shims", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.enum_game_vehicles_status": { + "name": "enum_game_vehicles_status", + "schema": "public", + "values": [ + "idle", + "assigned", + "in_transit", + "damaged", + "destroyed" + ] + }, + "public.enum_game_event_logs_target_collection": { + "name": "enum_game_event_logs_target_collection", + "schema": "public", + "values": [ + "game-structures", + "game-vehicles", + "game-npcs", + "structures", + "resources", + "assets", + "vehicles", + "factions", + "missions", + "campaigns", + "users", + "technologies", + "maps", + "shipments", + "bank-accounts", + "bank-transactions", + "ledger-entries", + "locker-storages", + "loadouts", + "market-listings", + "market-negotiations", + "tickets" + ] + }, + "public.enum_users_roles": { + "name": "enum_users_roles", + "schema": "public", + "values": [ + "guest", + "user", + "trusted", + "admin", + "developer" + ] + }, + "public.enum_users_preferences_notifications_muted_types": { + "name": "enum_users_preferences_notifications_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status" + ] + }, + "public.enum_users_preferences_discord_muted_types": { + "name": "enum_users_preferences_discord_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status" + ] + }, + "public.enum_awards_type": { + "name": "enum_awards_type", + "schema": "public", + "values": [ + "commendation", + "ribbon", + "medal" + ] + }, + "public.enum_assignments_type": { + "name": "enum_assignments_type", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_missions_factions_involved_threat_level": { + "name": "enum_missions_factions_involved_threat_level", + "schema": "public", + "values": [ + "ally", + "friendly", + "neutral", + "hostile" + ] + }, + "public.enum_missions_logistics_and_support_insertion": { + "name": "enum_missions_logistics_and_support_insertion", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_logistics_and_support_extraction": { + "name": "enum_missions_logistics_and_support_extraction", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_operation_type": { + "name": "enum_missions_operation_type", + "schema": "public", + "values": [ + "main", + "side", + "external" + ] + }, + "public.enum_missions_classification_mission_type": { + "name": "enum_missions_classification_mission_type", + "schema": "public", + "values": [ + "Zeus", + "PvE", + "PvP", + "PvPvE", + "Training", + "Special" + ] + }, + "public.enum_missions_ownership_and_status_status": { + "name": "enum_missions_ownership_and_status_status", + "schema": "public", + "values": [ + "Concept", + "Planning", + "Ready", + "Scheduled", + "Active", + "Completed", + "Cancelled" + ] + }, + "public.enum_missions_ownership_and_status_visibility": { + "name": "enum_missions_ownership_and_status_visibility", + "schema": "public", + "values": [ + "unit", + "leadership", + "intel", + "private" + ] + }, + "public.enum_missions_civilian_presence": { + "name": "enum_missions_civilian_presence", + "schema": "public", + "values": [ + "None", + "Low", + "Medium", + "High" + ] + }, + "public.enum_mission_attendances_response": { + "name": "enum_mission_attendances_response", + "schema": "public", + "values": [ + "yes", + "no", + "tentative" + ] + }, + "public.enum_campaigns_status": { + "name": "enum_campaigns_status", + "schema": "public", + "values": [ + "concept", + "inProgress", + "completed" + ] + }, + "public.enum_factions_type": { + "name": "enum_factions_type", + "schema": "public", + "values": [ + "playerFaction", + "majorFaction", + "minorFaction", + "corporation", + "special" + ] + }, + "public.enum_technologies_approval_status": { + "name": "enum_technologies_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_technologies_type": { + "name": "enum_technologies_type", + "schema": "public", + "values": [ + "asset", + "upgrade" + ] + }, + "public.enum_assets_skin_configuration_applies_to_asset_types": { + "name": "enum_assets_skin_configuration_applies_to_asset_types", + "schema": "public", + "values": [ + "weapon", + "uniform", + "vest", + "backpack", + "helmet" + ] + }, + "public.enum_assets_approval_status": { + "name": "enum_assets_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_assets_asset_type": { + "name": "enum_assets_asset_type", + "schema": "public", + "values": [ + "weapon", + "magazine", + "optic", + "muzzle", + "bipod", + "uniform", + "vest", + "backpack", + "helmet", + "facewear", + "nvg", + "radio", + "medical", + "tool", + "explosive", + "skin", + "miscellaneous" + ] + }, + "public.enum_assets_weapon_configuration_slot_type": { + "name": "enum_assets_weapon_configuration_slot_type", + "schema": "public", + "values": [ + "primary", + "secondary", + "launcher" + ] + }, + "public.enum_assets_nightvision_configuration_nvg_generation": { + "name": "enum_assets_nightvision_configuration_nvg_generation", + "schema": "public", + "values": [ + "gen1", + "gen2", + "gen3" + ] + }, + "public.enum_assets_market_trading_rarity": { + "name": "enum_assets_market_trading_rarity", + "schema": "public", + "values": [ + "basic", + "common", + "uncommon", + "rare", + "veryRare", + "epic", + "legendary", + "unique" + ] + }, + "public.enum_resources_approval_status": { + "name": "enum_resources_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_resources_type": { + "name": "enum_resources_type", + "schema": "public", + "values": [ + "physical", + "fluid", + "energy", + "abstract" + ] + }, + "public.enum_resources_rarity": { + "name": "enum_resources_rarity", + "schema": "public", + "values": [ + "common", + "uncommon", + "rare", + "epic", + "legendary", + "exotic", + "unique" + ] + }, + "public.enum_vehicles_category": { + "name": "enum_vehicles_category", + "schema": "public", + "values": [ + "civilian", + "utility", + "transport", + "weaponized", + "military" + ] + }, + "public.enum_vehicles_pylons_pylon_type": { + "name": "enum_vehicles_pylons_pylon_type", + "schema": "public", + "values": [ + "mountedWeapon", + "pylon" + ] + }, + "public.enum_vehicles_approval_status": { + "name": "enum_vehicles_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_vehicles_armor_rating": { + "name": "enum_vehicles_armor_rating", + "schema": "public", + "values": [ + "none", + "light", + "medium", + "heavy", + "composite" + ] + }, + "public.enum_structures_approval_status": { + "name": "enum_structures_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_structures_category": { + "name": "enum_structures_category", + "schema": "public", + "values": [ + "logistics", + "military", + "civilian" + ] + }, + "public.enum_structures_terrain_type": { + "name": "enum_structures_terrain_type", + "schema": "public", + "values": [ + "land", + "water" + ] + }, + "public.enum_structures_function_type": { + "name": "enum_structures_function_type", + "schema": "public", + "values": [ + "producer", + "storage", + "sensor", + "converter", + "defense", + "miscellaneous" + ] + }, + "public.enum_shipments_status": { + "name": "enum_shipments_status", + "schema": "public", + "values": [ + "pending", + "dispatched", + "in_transit", + "arrived", + "completed", + "cancelled", + "failed", + "stranded" + ] + }, + "public.enum_bank_accounts_account_type": { + "name": "enum_bank_accounts_account_type", + "schema": "public", + "values": [ + "treasury", + "faction", + "personal" + ] + }, + "public.enum_bank_accounts_status": { + "name": "enum_bank_accounts_status", + "schema": "public", + "values": [ + "open", + "frozen", + "closed" + ] + }, + "public.enum_bank_transactions_type": { + "name": "enum_bank_transactions_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_bank_transactions_status": { + "name": "enum_bank_transactions_status", + "schema": "public", + "values": [ + "completed", + "reversed" + ] + }, + "public.enum_ledger_entries_type": { + "name": "enum_ledger_entries_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_market_listings_status": { + "name": "enum_market_listings_status", + "schema": "public", + "values": [ + "active", + "sold", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_history_from": { + "name": "enum_market_negotiations_history_from", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_market_negotiations_status": { + "name": "enum_market_negotiations_status", + "schema": "public", + "values": [ + "open", + "accepted", + "rejected", + "closed", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_proposed_by": { + "name": "enum_market_negotiations_proposed_by", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_tickets_activity_type": { + "name": "enum_tickets_activity_type", + "schema": "public", + "values": [ + "system", + "agent_message", + "client_message" + ] + }, + "public.enum_tickets_category": { + "name": "enum_tickets_category", + "schema": "public", + "values": [ + "bug_report", + "feature_request", + "support_request", + "other" + ] + }, + "public.enum_tickets_priority": { + "name": "enum_tickets_priority", + "schema": "public", + "values": [ + "low", + "medium", + "high", + "critical" + ] + }, + "public.enum_tickets_status": { + "name": "enum_tickets_status", + "schema": "public", + "values": [ + "open", + "in_review", + "planning", + "in_progress", + "waiting_on_reporter", + "in_testing", + "resolved", + "canceled", + "closed" + ] + }, + "public.enum_narrative_events_triggers_type": { + "name": "enum_narrative_events_triggers_type", + "schema": "public", + "values": [ + "manual", + "mission_complete", + "timer", + "condition" + ] + }, + "public.enum_shims_shims_type": { + "name": "enum_shims_shims_type", + "schema": "public", + "values": [ + "css", + "js" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "id": "d0940e5d-b2ab-45be-9345-1ef43e726db1", + "prevId": "00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/src/migrations/20260817_053752.ts b/src/migrations/20260817_053752.ts new file mode 100644 index 0000000..226b304 --- /dev/null +++ b/src/migrations/20260817_053752.ts @@ -0,0 +1,33 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + CREATE TYPE "public"."enum_shims_shims_type" AS ENUM('css', 'js'); + CREATE TABLE "shims_shims" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "summary" varchar, + "content" varchar NOT NULL, + "type" "enum_shims_shims_type" DEFAULT 'css' NOT NULL + ); + + CREATE TABLE "shims" ( + "id" serial PRIMARY KEY NOT NULL, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + ALTER TABLE "shims_shims" ADD CONSTRAINT "shims_shims_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."shims"("id") ON DELETE cascade ON UPDATE no action; + CREATE INDEX "shims_shims_order_idx" ON "shims_shims" USING btree ("_order"); + CREATE INDEX "shims_shims_parent_id_idx" ON "shims_shims" USING btree ("_parent_id"); + CREATE UNIQUE INDEX "shims_shims_name_idx" ON "shims_shims" USING btree ("name");`) +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + DROP TABLE "shims_shims" CASCADE; + DROP TABLE "shims" CASCADE; + DROP TYPE "public"."enum_shims_shims_type";`) +} diff --git a/src/migrations/20251206_065831.json b/src/migrations/_archived/20251206_065831.json similarity index 100% rename from src/migrations/20251206_065831.json rename to src/migrations/_archived/20251206_065831.json diff --git a/src/migrations/20251206_065831.ts b/src/migrations/_archived/20251206_065831.ts similarity index 100% rename from src/migrations/20251206_065831.ts rename to src/migrations/_archived/20251206_065831.ts diff --git a/src/migrations/20251212_183607.json b/src/migrations/_archived/20251212_183607.json similarity index 100% rename from src/migrations/20251212_183607.json rename to src/migrations/_archived/20251212_183607.json diff --git a/src/migrations/20251212_183607.ts b/src/migrations/_archived/20251212_183607.ts similarity index 100% rename from src/migrations/20251212_183607.ts rename to src/migrations/_archived/20251212_183607.ts diff --git a/src/migrations/20251219_061127.json b/src/migrations/_archived/20251219_061127.json similarity index 100% rename from src/migrations/20251219_061127.json rename to src/migrations/_archived/20251219_061127.json diff --git a/src/migrations/20251219_061127.ts b/src/migrations/_archived/20251219_061127.ts similarity index 100% rename from src/migrations/20251219_061127.ts rename to src/migrations/_archived/20251219_061127.ts diff --git a/src/migrations/20251222_200320.json b/src/migrations/_archived/20251222_200320.json similarity index 100% rename from src/migrations/20251222_200320.json rename to src/migrations/_archived/20251222_200320.json diff --git a/src/migrations/20251222_200320.ts b/src/migrations/_archived/20251222_200320.ts similarity index 100% rename from src/migrations/20251222_200320.ts rename to src/migrations/_archived/20251222_200320.ts diff --git a/src/migrations/20251223_055859.json b/src/migrations/_archived/20251223_055859.json similarity index 100% rename from src/migrations/20251223_055859.json rename to src/migrations/_archived/20251223_055859.json diff --git a/src/migrations/20251223_055859.ts b/src/migrations/_archived/20251223_055859.ts similarity index 100% rename from src/migrations/20251223_055859.ts rename to src/migrations/_archived/20251223_055859.ts diff --git a/src/migrations/index.ts b/src/migrations/index.ts index 6fa4279..c3857da 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -1,51 +1,49 @@ -import * as migration_20251206_065831 from "./20251206_065831"; -import * as migration_20251212_183607 from "./20251212_183607"; -import * as migration_20251219_061127 from "./20251219_061127"; -import * as migration_20251222_200320 from "./20251222_200320"; -import * as migration_20251223_055859 from "./20251223_055859"; -import * as migration_20260109_065519 from "./20260109_065519"; -import * as migration_20260816_213455 from "./20260816_213455"; -import * as migration_20260816_220000 from "./20260816_220000"; +import * as migration_20260817_053752 from "./20260817_053752"; export const migrations = [ - { + /*{ up: migration_20251206_065831.up, down: migration_20251206_065831.down, - name: "20251206_065831", + name: '20251206_065831', }, { up: migration_20251212_183607.up, down: migration_20251212_183607.down, - name: "20251212_183607", + name: '20251212_183607', }, { up: migration_20251219_061127.up, down: migration_20251219_061127.down, - name: "20251219_061127", + name: '20251219_061127', }, { up: migration_20251222_200320.up, down: migration_20251222_200320.down, - name: "20251222_200320", + name: '20251222_200320', }, { up: migration_20251223_055859.up, down: migration_20251223_055859.down, - name: "20251223_055859", - }, + name: '20251223_055859', + },*/ + // { + // up: migration_20260109_065519.up, + // down: migration_20260109_065519.down, + // name: "20260109_065519", + // }, + // { + // up: migration_20260816_213455.up, + // down: migration_20260816_213455.down, + // name: "20260816_213455", + // }, + // { + // up: migration_20260816_220000.up, + // down: migration_20260816_220000.down, + // name: "20260816_220000", + // }, { - up: migration_20260109_065519.up, - down: migration_20260109_065519.down, - name: "20260109_065519", - }, - { - up: migration_20260816_213455.up, - down: migration_20260816_213455.down, - name: "20260816_213455", - }, - { - up: migration_20260816_220000.up, - down: migration_20260816_220000.down, - name: "20260816_220000", + up: migration_20260817_053752.up, + down: migration_20260817_053752.down, + name: "20260817_053752", }, ];