diff --git a/src/collections/intelligence/Technologies.ts b/src/collections/intelligence/Technologies.ts
index 284ee29..d8177c7 100644
--- a/src/collections/intelligence/Technologies.ts
+++ b/src/collections/intelligence/Technologies.ts
@@ -52,10 +52,6 @@ export const Technologies: CollectionConfig = {
name: "requirements",
type: "group",
fields: [
- {
- name: "intelligencePoints",
- type: "number",
- },
{
name: "prerequisiteTechnologies",
type: "array",
@@ -107,6 +103,24 @@ export const Technologies: CollectionConfig = {
name: "researchCosts",
type: "group",
fields: [
+ {
+ name: "resources",
+ type: "array",
+ fields: [
+ {
+ name: "resource",
+ type: "relationship",
+ relationTo: "resources",
+ required: true,
+ },
+ {
+ name: "amount",
+ type: "number",
+ defaultValue: 1,
+ required: true,
+ },
+ ],
+ },
{
type: "row",
fields: [
diff --git a/src/components/static/VersionOverlay.tsx b/src/components/static/VersionOverlay.tsx
index 03c4c24..49ebd96 100644
--- a/src/components/static/VersionOverlay.tsx
+++ b/src/components/static/VersionOverlay.tsx
@@ -6,7 +6,7 @@ const VersionOverlay = () => {
- version {appVersion ?? "Unknown version"}
+ {appVersion ? `version ${appVersion}` : "unknown version"}
{appLastUpdated && (
diff --git a/src/migrations/20251223_055859.json b/src/migrations/20251223_055859.json
new file mode 100644
index 0000000..ff4640d
--- /dev/null
+++ b/src/migrations/20251223_055859.json
@@ -0,0 +1,9106 @@
+{
+ "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
+ }
+ },
+ "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": {
+ "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
+ },
+ "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_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"
+ }
+ },
+ "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_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
+ },
+ "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
+ },
+ "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_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
+ },
+ "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
+ }
+ },
+ "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": {}
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "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.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_name": {
+ "name": "faction_name",
+ "type": "varchar",
+ "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": {}
+ }
+ },
+ "foreignKeys": {
+ "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
+ },
+ "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": true
+ },
+ "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_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_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.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
+ },
+ "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_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": {},
+ "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
+ },
+ "playable_faction": {
+ "name": "playable_faction",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "starting_faction": {
+ "name": "starting_faction",
+ "type": "boolean",
+ "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_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": {},
+ "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
+ },
+ "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_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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "image_id": {
+ "name": "image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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_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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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.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
+ },
+ "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
+ },
+ "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
+ },
+ "missions_id": {
+ "name": "missions_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
+ },
+ "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_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_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_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_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_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_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_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_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
+ },
+ "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
+ }
+ },
+ "enums": {
+ "public.enum_users_roles": {
+ "name": "enum_users_roles",
+ "schema": "public",
+ "values": [
+ "guest",
+ "user",
+ "admin",
+ "developer"
+ ]
+ },
+ "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_campaigns_status": {
+ "name": "enum_campaigns_status",
+ "schema": "public",
+ "values": [
+ "concept",
+ "inProgress",
+ "completed"
+ ]
+ },
+ "public.enum_factions_type": {
+ "name": "enum_factions_type",
+ "schema": "public",
+ "values": [
+ "majorFaction",
+ "minorFaction",
+ "corporation",
+ "special"
+ ]
+ },
+ "public.enum_technologies_type": {
+ "name": "enum_technologies_type",
+ "schema": "public",
+ "values": [
+ "asset",
+ "upgrade"
+ ]
+ },
+ "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",
+ "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_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_armor_rating": {
+ "name": "enum_vehicles_armor_rating",
+ "schema": "public",
+ "values": [
+ "none",
+ "light",
+ "medium",
+ "heavy",
+ "composite"
+ ]
+ },
+ "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"
+ ]
+ }
+ },
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "schemas": {},
+ "tables": {},
+ "columns": {}
+ },
+ "id": "0e4a4e6a-8f7b-48ab-8bd3-4794523a83df",
+ "prevId": "00000000-0000-0000-0000-000000000000"
+}
\ No newline at end of file
diff --git a/src/migrations/20251223_055859.ts b/src/migrations/20251223_055859.ts
new file mode 100644
index 0000000..2f7e5c8
--- /dev/null
+++ b/src/migrations/20251223_055859.ts
@@ -0,0 +1,25 @@
+import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
+
+export async function up({ db, payload, req }: MigrateUpArgs): Promise {
+ await db.execute(sql`
+ CREATE TABLE "technologies_research_costs_resources" (
+ "_order" integer NOT NULL,
+ "_parent_id" integer NOT NULL,
+ "id" varchar PRIMARY KEY NOT NULL,
+ "resource_id" integer NOT NULL,
+ "amount" numeric DEFAULT 1 NOT NULL
+ );
+
+ ALTER TABLE "technologies_research_costs_resources" ADD CONSTRAINT "technologies_research_costs_resources_resource_id_resources_id_fk" FOREIGN KEY ("resource_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action;
+ ALTER TABLE "technologies_research_costs_resources" ADD CONSTRAINT "technologies_research_costs_resources_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."technologies"("id") ON DELETE cascade ON UPDATE no action;
+ CREATE INDEX "technologies_research_costs_resources_order_idx" ON "technologies_research_costs_resources" USING btree ("_order");
+ CREATE INDEX "technologies_research_costs_resources_parent_id_idx" ON "technologies_research_costs_resources" USING btree ("_parent_id");
+ CREATE INDEX "technologies_research_costs_resources_resource_idx" ON "technologies_research_costs_resources" USING btree ("resource_id");
+ ALTER TABLE "technologies" DROP COLUMN "requirements_intelligence_points";`)
+}
+
+export async function down({ db, payload, req }: MigrateDownArgs): Promise {
+ await db.execute(sql`
+ DROP TABLE "technologies_research_costs_resources" CASCADE;
+ ALTER TABLE "technologies" ADD COLUMN "requirements_intelligence_points" numeric;`)
+}
diff --git a/src/migrations/index.ts b/src/migrations/index.ts
index 96ac5a4..3cf7a43 100644
--- a/src/migrations/index.ts
+++ b/src/migrations/index.ts
@@ -2,6 +2,7 @@ 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';
export const migrations = [
{
@@ -22,6 +23,11 @@ export const migrations = [
{
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'
},
];
diff --git a/src/payload-types.ts b/src/payload-types.ts
index 4a83c80..7b7752e 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -533,7 +533,6 @@ export interface Technology {
[k: string]: unknown;
} | null;
requirements?: {
- intelligencePoints?: number | null;
prerequisiteTechnologies?:
| {
/**
@@ -553,6 +552,13 @@ export interface Technology {
| null;
};
researchCosts: {
+ resources?:
+ | {
+ resource: number | Resource;
+ amount: number;
+ id?: string | null;
+ }[]
+ | null;
/**
* The minimum amount of time in minutes that it takes to research this technology. If no maximum duration is provided, this technology will be researched in an amount of time exactly equal to this number.
*/
@@ -1772,7 +1778,6 @@ export interface TechnologiesSelect {
requirements?:
| T
| {
- intelligencePoints?: T;
prerequisiteTechnologies?:
| T
| {
@@ -1792,6 +1797,13 @@ export interface TechnologiesSelect {
researchCosts?:
| T
| {
+ resources?:
+ | T
+ | {
+ resource?: T;
+ amount?: T;
+ id?: T;
+ };
minimumResearchDuration?: T;
maximumResearchDuration?: T;
};