diff --git a/src/app/(frontend)/minigames/opord/actions.ts b/src/app/(frontend)/minigames/opord/actions.ts
index d00a51c..30b8202 100644
--- a/src/app/(frontend)/minigames/opord/actions.ts
+++ b/src/app/(frontend)/minigames/opord/actions.ts
@@ -107,6 +107,9 @@ export async function submitOpordRecallResult(
recruitBestScore?: number;
veteranBestScore?: number;
eliteBestScore?: number;
+ recruitBestTimeMs?: number;
+ veteranBestTimeMs?: number;
+ eliteBestTimeMs?: number;
xpEarned?: number;
};
};
@@ -136,6 +139,19 @@ export async function submitOpordRecallResult(
const eliteBestScore =
input.difficulty === "elite" ? tierBestScore : (current.eliteBestScore ?? 0);
+ const tierBestTimeKey = `${input.difficulty}BestTimeMs` as
+ | "recruitBestTimeMs"
+ | "veteranBestTimeMs"
+ | "eliteBestTimeMs";
+ const prevTierBestTime = current[tierBestTimeKey];
+ const tierBestTimeMs = prevTierBestTime == null ? timeMs : Math.min(prevTierBestTime, timeMs);
+ const recruitBestTimeMs =
+ input.difficulty === "recruit" ? tierBestTimeMs : (current.recruitBestTimeMs ?? null);
+ const veteranBestTimeMs =
+ input.difficulty === "veteran" ? tierBestTimeMs : (current.veteranBestTimeMs ?? null);
+ const eliteBestTimeMs =
+ input.difficulty === "elite" ? tierBestTimeMs : (current.eliteBestTimeMs ?? null);
+
const { xp: _xp, ...progressionRest } = progression;
await payload.update({
@@ -153,6 +169,9 @@ export async function submitOpordRecallResult(
recruitBestScore,
veteranBestScore,
eliteBestScore,
+ recruitBestTimeMs,
+ veteranBestTimeMs,
+ eliteBestTimeMs,
xpEarned: opordRecallXp,
},
},
diff --git a/src/collections/users/Profiles.ts b/src/collections/users/Profiles.ts
index c1b749e..ce8604f 100644
--- a/src/collections/users/Profiles.ts
+++ b/src/collections/users/Profiles.ts
@@ -608,6 +608,21 @@ export const Profiles: CollectionConfig = {
type: "number",
defaultValue: 0,
},
+ {
+ name: "recruitBestTimeMs",
+ label: "Recruit Best Time (ms)",
+ type: "number",
+ },
+ {
+ name: "veteranBestTimeMs",
+ label: "Veteran Best Time (ms)",
+ type: "number",
+ },
+ {
+ name: "eliteBestTimeMs",
+ label: "Elite Best Time (ms)",
+ type: "number",
+ },
{
name: "xpEarned",
label: "XP Earned",
diff --git a/src/components/frontend/minigames/opord/OpordLeaderboard.tsx b/src/components/frontend/minigames/opord/OpordLeaderboard.tsx
index 837510a..8999c81 100644
--- a/src/components/frontend/minigames/opord/OpordLeaderboard.tsx
+++ b/src/components/frontend/minigames/opord/OpordLeaderboard.tsx
@@ -17,10 +17,19 @@ type LeaderboardRow = {
readonly gamesPlayed: number;
readonly bestScore: number;
readonly bestAccuracy: number;
+ readonly bestTimeMs: number | null;
readonly isCurrentUser: boolean;
readonly isOutsideTopTen?: boolean;
};
+function formatTime(ms: number | null): string {
+ if (ms === null || ms <= 0) return "-";
+ const totalSeconds = Math.round(ms / 1000);
+ const minutes = Math.floor(totalSeconds / 60);
+ const seconds = totalSeconds % 60;
+ return `${minutes}:${String(seconds).padStart(2, "0")}`;
+}
+
function rankClass(index: number): string {
if (index === 0) return "font-bold text-amber-400";
if (index === 1) return "font-semibold text-slate-300";
@@ -80,6 +89,7 @@ export function OpordLeaderboard({
gamesPlayed: opordRecall?.gamesPlayed ?? 0,
bestScore: opordRecall?.[tier.scoreField] ?? 0,
bestAccuracy: opordRecall?.bestAccuracy ?? 0,
+ bestTimeMs: opordRecall?.[tier.timeField] ?? null,
isCurrentUser: userId !== null && String(userId) === String(currentUserId),
};
});
@@ -151,6 +161,7 @@ export function OpordLeaderboard({
Operator |
Games |
Accuracy |
+ Time |
{Math.round(row.bestAccuracy * 100)}%
+ |
+ {formatTime(row.bestTimeMs)}
+ |
{row.bestScore}
|
diff --git a/src/components/frontend/minigames/opord/opordLeaderboardData.ts b/src/components/frontend/minigames/opord/opordLeaderboardData.ts
index 3aec841..86e8088 100644
--- a/src/components/frontend/minigames/opord/opordLeaderboardData.ts
+++ b/src/components/frontend/minigames/opord/opordLeaderboardData.ts
@@ -3,6 +3,7 @@ import type { OpordDifficulty } from "@/lib/minigames/opord-recall";
export type OpordLeaderboardFields = {
readonly label: string;
readonly scoreField: keyof OpordApiStats;
+ readonly timeField: keyof OpordApiStats;
};
export type OpordApiStats = {
@@ -12,6 +13,9 @@ export type OpordApiStats = {
readonly recruitBestScore: number | null;
readonly veteranBestScore: number | null;
readonly eliteBestScore: number | null;
+ readonly recruitBestTimeMs: number | null;
+ readonly veteranBestTimeMs: number | null;
+ readonly eliteBestTimeMs: number | null;
};
type ApiUser = {
@@ -29,9 +33,21 @@ type ApiProfile = {
};
export const OPORD_LEADERBOARD_FIELDS = {
- recruit: { label: "Recruit", scoreField: "recruitBestScore" },
- veteran: { label: "Veteran", scoreField: "veteranBestScore" },
- elite: { label: "Elite", scoreField: "eliteBestScore" },
+ recruit: {
+ label: "Recruit",
+ scoreField: "recruitBestScore",
+ timeField: "recruitBestTimeMs",
+ },
+ veteran: {
+ label: "Veteran",
+ scoreField: "veteranBestScore",
+ timeField: "veteranBestTimeMs",
+ },
+ elite: {
+ label: "Elite",
+ scoreField: "eliteBestScore",
+ timeField: "eliteBestTimeMs",
+ },
} as const satisfies Record;
function isRecord(value: unknown): value is Readonly> {
@@ -69,6 +85,9 @@ function readOpordRecall(value: unknown): OpordApiStats | null {
recruitBestScore: readNumber(value.recruitBestScore),
veteranBestScore: readNumber(value.veteranBestScore),
eliteBestScore: readNumber(value.eliteBestScore),
+ recruitBestTimeMs: readNumber(value.recruitBestTimeMs),
+ veteranBestTimeMs: readNumber(value.veteranBestTimeMs),
+ eliteBestTimeMs: readNumber(value.eliteBestTimeMs),
};
}
diff --git a/src/migrations/20260909_153427_add_opord_recall_best_times.json b/src/migrations/20260909_153427_add_opord_recall_best_times.json
new file mode 100644
index 0000000..25b66a7
--- /dev/null
+++ b/src/migrations/20260909_153427_add_opord_recall_best_times.json
@@ -0,0 +1,24487 @@
+{
+ "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_labor_requirements": {
+ "name": "game_structures_labor_requirements",
+ "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
+ },
+ "classification_id": {
+ "name": "classification_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "required_headcount": {
+ "name": "required_headcount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "max_headcount": {
+ "name": "max_headcount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "enforced_salary": {
+ "name": "enforced_salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_structures_labor_requirements_order_idx": {
+ "name": "game_structures_labor_requirements_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_labor_requirements_parent_id_idx": {
+ "name": "game_structures_labor_requirements_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_labor_requirements_classification_idx": {
+ "name": "game_structures_labor_requirements_classification_idx",
+ "columns": [
+ {
+ "expression": "classification_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_labor_requirements_classification_id_labor_classifications_id_fk": {
+ "name": "game_structures_labor_requirements_classification_id_labor_classifications_id_fk",
+ "tableFrom": "game_structures_labor_requirements",
+ "tableTo": "labor_classifications",
+ "columnsFrom": [
+ "classification_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_labor_requirements_parent_id_fk": {
+ "name": "game_structures_labor_requirements_parent_id_fk",
+ "tableFrom": "game_structures_labor_requirements",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures_staff_positions": {
+ "name": "game_structures_staff_positions",
+ "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
+ },
+ "position_type": {
+ "name": "position_type",
+ "type": "enum_game_structures_staff_positions_position_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "max": {
+ "name": "max",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "enforced_salary": {
+ "name": "enforced_salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_structures_staff_positions_order_idx": {
+ "name": "game_structures_staff_positions_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_staff_positions_parent_id_idx": {
+ "name": "game_structures_staff_positions_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_staff_positions_parent_id_fk": {
+ "name": "game_structures_staff_positions_parent_id_fk",
+ "tableFrom": "game_structures_staff_positions",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures_stored_resources": {
+ "name": "game_structures_stored_resources",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_x": {
+ "name": "grid_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_y": {
+ "name": "grid_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotated": {
+ "name": "rotated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {
+ "game_structures_stored_resources_order_idx": {
+ "name": "game_structures_stored_resources_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_stored_resources_parent_id_idx": {
+ "name": "game_structures_stored_resources_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_stored_resources_resource_idx": {
+ "name": "game_structures_stored_resources_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_stored_resources_resource_id_resources_id_fk": {
+ "name": "game_structures_stored_resources_resource_id_resources_id_fk",
+ "tableFrom": "game_structures_stored_resources",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_stored_resources_parent_id_fk": {
+ "name": "game_structures_stored_resources_parent_id_fk",
+ "tableFrom": "game_structures_stored_resources",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures_void_storage": {
+ "name": "game_structures_void_storage",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_x": {
+ "name": "grid_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_y": {
+ "name": "grid_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotated": {
+ "name": "rotated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {
+ "game_structures_void_storage_order_idx": {
+ "name": "game_structures_void_storage_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_void_storage_parent_id_idx": {
+ "name": "game_structures_void_storage_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_void_storage_resource_idx": {
+ "name": "game_structures_void_storage_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_void_storage_resource_id_resources_id_fk": {
+ "name": "game_structures_void_storage_resource_id_resources_id_fk",
+ "tableFrom": "game_structures_void_storage",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_void_storage_parent_id_fk": {
+ "name": "game_structures_void_storage_parent_id_fk",
+ "tableFrom": "game_structures_void_storage",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures": {
+ "name": "game_structures",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type_id": {
+ "name": "type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "faction_id": {
+ "name": "faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "maintenance_cost": {
+ "name": "maintenance_cost",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "coordinates": {
+ "name": "coordinates",
+ "type": "geometry(Point)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "game_structures_type_idx": {
+ "name": "game_structures_type_idx",
+ "columns": [
+ {
+ "expression": "type_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_faction_idx": {
+ "name": "game_structures_faction_idx",
+ "columns": [
+ {
+ "expression": "faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_updated_at_idx": {
+ "name": "game_structures_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_created_at_idx": {
+ "name": "game_structures_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_type_id_structures_id_fk": {
+ "name": "game_structures_type_id_structures_id_fk",
+ "tableFrom": "game_structures",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_faction_id_factions_id_fk": {
+ "name": "game_structures_faction_id_factions_id_fk",
+ "tableFrom": "game_structures",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_vehicles_stored_resources": {
+ "name": "game_vehicles_stored_resources",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_x": {
+ "name": "grid_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_y": {
+ "name": "grid_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotated": {
+ "name": "rotated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {
+ "game_vehicles_stored_resources_order_idx": {
+ "name": "game_vehicles_stored_resources_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_stored_resources_parent_id_idx": {
+ "name": "game_vehicles_stored_resources_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_stored_resources_resource_idx": {
+ "name": "game_vehicles_stored_resources_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_vehicles_stored_resources_resource_id_resources_id_fk": {
+ "name": "game_vehicles_stored_resources_resource_id_resources_id_fk",
+ "tableFrom": "game_vehicles_stored_resources",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_vehicles_stored_resources_parent_id_fk": {
+ "name": "game_vehicles_stored_resources_parent_id_fk",
+ "tableFrom": "game_vehicles_stored_resources",
+ "tableTo": "game_vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_vehicles_void_storage": {
+ "name": "game_vehicles_void_storage",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_x": {
+ "name": "grid_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grid_y": {
+ "name": "grid_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotated": {
+ "name": "rotated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {
+ "game_vehicles_void_storage_order_idx": {
+ "name": "game_vehicles_void_storage_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_void_storage_parent_id_idx": {
+ "name": "game_vehicles_void_storage_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_void_storage_resource_idx": {
+ "name": "game_vehicles_void_storage_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_vehicles_void_storage_resource_id_resources_id_fk": {
+ "name": "game_vehicles_void_storage_resource_id_resources_id_fk",
+ "tableFrom": "game_vehicles_void_storage",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_vehicles_void_storage_parent_id_fk": {
+ "name": "game_vehicles_void_storage_parent_id_fk",
+ "tableFrom": "game_vehicles_void_storage",
+ "tableTo": "game_vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_vehicles": {
+ "name": "game_vehicles",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type_id": {
+ "name": "type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "deployed_at_id": {
+ "name": "deployed_at_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "faction_id": {
+ "name": "faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_game_vehicles_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'idle'"
+ },
+ "current_fuel": {
+ "name": "current_fuel",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "current_health": {
+ "name": "current_health",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "game_vehicles_type_idx": {
+ "name": "game_vehicles_type_idx",
+ "columns": [
+ {
+ "expression": "type_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_deployed_at_idx": {
+ "name": "game_vehicles_deployed_at_idx",
+ "columns": [
+ {
+ "expression": "deployed_at_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_faction_idx": {
+ "name": "game_vehicles_faction_idx",
+ "columns": [
+ {
+ "expression": "faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_updated_at_idx": {
+ "name": "game_vehicles_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_vehicles_created_at_idx": {
+ "name": "game_vehicles_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_vehicles_type_id_vehicles_id_fk": {
+ "name": "game_vehicles_type_id_vehicles_id_fk",
+ "tableFrom": "game_vehicles",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_vehicles_deployed_at_id_game_structures_id_fk": {
+ "name": "game_vehicles_deployed_at_id_game_structures_id_fk",
+ "tableFrom": "game_vehicles",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "deployed_at_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_vehicles_faction_id_factions_id_fk": {
+ "name": "game_vehicles_faction_id_factions_id_fk",
+ "tableFrom": "game_vehicles",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_npcs": {
+ "name": "game_npcs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "occupation": {
+ "name": "occupation",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "location_id": {
+ "name": "location_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "faction_id": {
+ "name": "faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bio": {
+ "name": "bio",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_generated": {
+ "name": "is_generated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_in_game": {
+ "name": "is_in_game",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "vendor_enabled": {
+ "name": "vendor_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "vendor_price_modifier": {
+ "name": "vendor_price_modifier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "game_npcs_location_idx": {
+ "name": "game_npcs_location_idx",
+ "columns": [
+ {
+ "expression": "location_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_faction_idx": {
+ "name": "game_npcs_faction_idx",
+ "columns": [
+ {
+ "expression": "faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_updated_at_idx": {
+ "name": "game_npcs_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_created_at_idx": {
+ "name": "game_npcs_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_npcs_location_id_game_structures_id_fk": {
+ "name": "game_npcs_location_id_game_structures_id_fk",
+ "tableFrom": "game_npcs",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "location_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_npcs_faction_id_factions_id_fk": {
+ "name": "game_npcs_faction_id_factions_id_fk",
+ "tableFrom": "game_npcs",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_npcs_rels": {
+ "name": "game_npcs_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_npcs_rels_order_idx": {
+ "name": "game_npcs_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_rels_parent_idx": {
+ "name": "game_npcs_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_rels_path_idx": {
+ "name": "game_npcs_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_npcs_rels_assets_id_idx": {
+ "name": "game_npcs_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_npcs_rels_parent_fk": {
+ "name": "game_npcs_rels_parent_fk",
+ "tableFrom": "game_npcs_rels",
+ "tableTo": "game_npcs",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "game_npcs_rels_assets_fk": {
+ "name": "game_npcs_rels_assets_fk",
+ "tableFrom": "game_npcs_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.npc_staffing": {
+ "name": "npc_staffing",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "npc_id": {
+ "name": "npc_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "structure_id": {
+ "name": "structure_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "position_type": {
+ "name": "position_type",
+ "type": "enum_npc_staffing_position_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'labor'"
+ },
+ "position_title": {
+ "name": "position_title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "headcount": {
+ "name": "headcount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "labor_classification_id": {
+ "name": "labor_classification_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "salary": {
+ "name": "salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_npc_staffing_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'active'"
+ },
+ "hired_at": {
+ "name": "hired_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "terminated_at": {
+ "name": "terminated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "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": {
+ "npc_staffing_npc_idx": {
+ "name": "npc_staffing_npc_idx",
+ "columns": [
+ {
+ "expression": "npc_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "npc_staffing_structure_idx": {
+ "name": "npc_staffing_structure_idx",
+ "columns": [
+ {
+ "expression": "structure_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "npc_staffing_labor_classification_idx": {
+ "name": "npc_staffing_labor_classification_idx",
+ "columns": [
+ {
+ "expression": "labor_classification_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "npc_staffing_updated_at_idx": {
+ "name": "npc_staffing_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "npc_staffing_created_at_idx": {
+ "name": "npc_staffing_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "npc_staffing_npc_id_game_npcs_id_fk": {
+ "name": "npc_staffing_npc_id_game_npcs_id_fk",
+ "tableFrom": "npc_staffing",
+ "tableTo": "game_npcs",
+ "columnsFrom": [
+ "npc_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "npc_staffing_structure_id_game_structures_id_fk": {
+ "name": "npc_staffing_structure_id_game_structures_id_fk",
+ "tableFrom": "npc_staffing",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "structure_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "npc_staffing_labor_classification_id_labor_classifications_id_fk": {
+ "name": "npc_staffing_labor_classification_id_labor_classifications_id_fk",
+ "tableFrom": "npc_staffing",
+ "tableTo": "labor_classifications",
+ "columnsFrom": [
+ "labor_classification_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.labor_classifications": {
+ "name": "labor_classifications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "key": {
+ "name": "key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "default_unit_salary": {
+ "name": "default_unit_salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "available_headcount": {
+ "name": "available_headcount",
+ "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": {
+ "labor_classifications_name_idx": {
+ "name": "labor_classifications_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "labor_classifications_key_idx": {
+ "name": "labor_classifications_key_idx",
+ "columns": [
+ {
+ "expression": "key",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "labor_classifications_updated_at_idx": {
+ "name": "labor_classifications_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "labor_classifications_created_at_idx": {
+ "name": "labor_classifications_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_event_logs": {
+ "name": "game_event_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "system": {
+ "name": "system",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "timestamp": {
+ "name": "timestamp",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "message": {
+ "name": "message",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "actor_id": {
+ "name": "actor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "structure_id": {
+ "name": "structure_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "target_collection": {
+ "name": "target_collection",
+ "type": "enum_game_event_logs_target_collection",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "target_id": {
+ "name": "target_id",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "data": {
+ "name": "data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "game_event_logs_type_idx": {
+ "name": "game_event_logs_type_idx",
+ "columns": [
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_event_logs_actor_idx": {
+ "name": "game_event_logs_actor_idx",
+ "columns": [
+ {
+ "expression": "actor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_event_logs_structure_idx": {
+ "name": "game_event_logs_structure_idx",
+ "columns": [
+ {
+ "expression": "structure_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_event_logs_updated_at_idx": {
+ "name": "game_event_logs_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_event_logs_created_at_idx": {
+ "name": "game_event_logs_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_event_logs_actor_id_users_id_fk": {
+ "name": "game_event_logs_actor_id_users_id_fk",
+ "tableFrom": "game_event_logs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "actor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_event_logs_structure_id_game_structures_id_fk": {
+ "name": "game_event_logs_structure_id_game_structures_id_fk",
+ "tableFrom": "game_event_logs",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "structure_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users_roles": {
+ "name": "users_roles",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_users_roles",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "users_roles_order_idx": {
+ "name": "users_roles_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_roles_parent_idx": {
+ "name": "users_roles_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_roles_parent_fk": {
+ "name": "users_roles_parent_fk",
+ "tableFrom": "users_roles",
+ "tableTo": "users",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users_preferences_notifications_muted_types": {
+ "name": "users_preferences_notifications_muted_types",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_users_preferences_notifications_muted_types",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "users_preferences_notifications_muted_types_order_idx": {
+ "name": "users_preferences_notifications_muted_types_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_preferences_notifications_muted_types_parent_idx": {
+ "name": "users_preferences_notifications_muted_types_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_preferences_notifications_muted_types_parent_fk": {
+ "name": "users_preferences_notifications_muted_types_parent_fk",
+ "tableFrom": "users_preferences_notifications_muted_types",
+ "tableTo": "users",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users_preferences_discord_muted_types": {
+ "name": "users_preferences_discord_muted_types",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_users_preferences_discord_muted_types",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "users_preferences_discord_muted_types_order_idx": {
+ "name": "users_preferences_discord_muted_types_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_preferences_discord_muted_types_parent_idx": {
+ "name": "users_preferences_discord_muted_types_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_preferences_discord_muted_types_parent_fk": {
+ "name": "users_preferences_discord_muted_types_parent_fk",
+ "tableFrom": "users_preferences_discord_muted_types",
+ "tableTo": "users",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users_sessions": {
+ "name": "users_sessions",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "users_sessions_order_idx": {
+ "name": "users_sessions_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_sessions_parent_id_idx": {
+ "name": "users_sessions_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_sessions_parent_id_fk": {
+ "name": "users_sessions_parent_id_fk",
+ "tableFrom": "users_sessions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users": {
+ "name": "users",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "discord_username": {
+ "name": "discord_username",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "discord_id": {
+ "name": "discord_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "display_name": {
+ "name": "display_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "payload_display_name": {
+ "name": "payload_display_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steam_id": {
+ "name": "steam_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "preferences_notifications_muted_all": {
+ "name": "preferences_notifications_muted_all",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "preferences_display_show_callsign": {
+ "name": "preferences_display_show_callsign",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "preferences_display_lead_or_actual": {
+ "name": "preferences_display_lead_or_actual",
+ "type": "enum_users_preferences_display_lead_or_actual",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'lead'"
+ },
+ "preferences_display_show_version_overlay": {
+ "name": "preferences_display_show_version_overlay",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "preferences_display_xp_display_mini": {
+ "name": "preferences_display_xp_display_mini",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "preferences_display_show_background_texture": {
+ "name": "preferences_display_show_background_texture",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "preferences_discord_enabled": {
+ "name": "preferences_discord_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "username": {
+ "name": "username",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reset_password_token": {
+ "name": "reset_password_token",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reset_password_expiration": {
+ "name": "reset_password_expiration",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "salt": {
+ "name": "salt",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "hash": {
+ "name": "hash",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "login_attempts": {
+ "name": "login_attempts",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "lock_until": {
+ "name": "lock_until",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "users_discord_username_idx": {
+ "name": "users_discord_username_idx",
+ "columns": [
+ {
+ "expression": "discord_username",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_discord_id_idx": {
+ "name": "users_discord_id_idx",
+ "columns": [
+ {
+ "expression": "discord_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_updated_at_idx": {
+ "name": "users_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_created_at_idx": {
+ "name": "users_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_username_idx": {
+ "name": "users_username_idx",
+ "columns": [
+ {
+ "expression": "username",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users_rels": {
+ "name": "users_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
+ },
+ "roles_id": {
+ "name": "roles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "users_rels_order_idx": {
+ "name": "users_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_parent_idx": {
+ "name": "users_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_path_idx": {
+ "name": "users_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_roles_id_idx": {
+ "name": "users_rels_roles_id_idx",
+ "columns": [
+ {
+ "expression": "roles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_rels_parent_fk": {
+ "name": "users_rels_parent_fk",
+ "tableFrom": "users_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "users_rels_roles_fk": {
+ "name": "users_rels_roles_fk",
+ "tableFrom": "users_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "roles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.roles_permissions": {
+ "name": "roles_permissions",
+ "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_roles_permissions",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "roles_permissions_order_idx": {
+ "name": "roles_permissions_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_permissions_parent_idx": {
+ "name": "roles_permissions_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "roles_permissions_parent_fk": {
+ "name": "roles_permissions_parent_fk",
+ "tableFrom": "roles_permissions",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.roles": {
+ "name": "roles",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_system": {
+ "name": "is_system",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_superuser": {
+ "name": "is_superuser",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "roles_name_idx": {
+ "name": "roles_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_slug_idx": {
+ "name": "roles_slug_idx",
+ "columns": [
+ {
+ "expression": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_updated_at_idx": {
+ "name": "roles_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_created_at_idx": {
+ "name": "roles_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.roles_rels": {
+ "name": "roles_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
+ },
+ "roles_id": {
+ "name": "roles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "roles_rels_order_idx": {
+ "name": "roles_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_rels_parent_idx": {
+ "name": "roles_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_rels_path_idx": {
+ "name": "roles_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "roles_rels_roles_id_idx": {
+ "name": "roles_rels_roles_id_idx",
+ "columns": [
+ {
+ "expression": "roles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "roles_rels_parent_fk": {
+ "name": "roles_rels_parent_fk",
+ "tableFrom": "roles_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "roles_rels_roles_fk": {
+ "name": "roles_rels_roles_fk",
+ "tableFrom": "roles_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "roles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "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_progression_awards": {
+ "name": "profiles_progression_awards",
+ "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
+ },
+ "award_id": {
+ "name": "award_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "awarded_by_id": {
+ "name": "awarded_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "awarded_at": {
+ "name": "awarded_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "award_reason": {
+ "name": "award_reason",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "profiles_progression_awards_order_idx": {
+ "name": "profiles_progression_awards_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_progression_awards_parent_id_idx": {
+ "name": "profiles_progression_awards_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_progression_awards_award_idx": {
+ "name": "profiles_progression_awards_award_idx",
+ "columns": [
+ {
+ "expression": "award_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_progression_awards_awarded_by_idx": {
+ "name": "profiles_progression_awards_awarded_by_idx",
+ "columns": [
+ {
+ "expression": "awarded_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "profiles_progression_awards_award_id_awards_id_fk": {
+ "name": "profiles_progression_awards_award_id_awards_id_fk",
+ "tableFrom": "profiles_progression_awards",
+ "tableTo": "awards",
+ "columnsFrom": [
+ "award_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "profiles_progression_awards_awarded_by_id_profiles_id_fk": {
+ "name": "profiles_progression_awards_awarded_by_id_profiles_id_fk",
+ "tableFrom": "profiles_progression_awards",
+ "tableTo": "profiles",
+ "columnsFrom": [
+ "awarded_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "profiles_progression_awards_parent_id_fk": {
+ "name": "profiles_progression_awards_parent_id_fk",
+ "tableFrom": "profiles_progression_awards",
+ "tableTo": "profiles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "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_enlistment_date": {
+ "name": "dossier_enlistment_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "dossier_personal_excerpt": {
+ "name": "dossier_personal_excerpt",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dossier_intel_excerpt": {
+ "name": "dossier_intel_excerpt",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progression_scoreboard_infantry_kills": {
+ "name": "progression_scoreboard_infantry_kills",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_scoreboard_vehicle_kills": {
+ "name": "progression_scoreboard_vehicle_kills",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_scoreboard_armor_kills": {
+ "name": "progression_scoreboard_armor_kills",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_scoreboard_air_kills": {
+ "name": "progression_scoreboard_air_kills",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_scoreboard_deaths": {
+ "name": "progression_scoreboard_deaths",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_flappy_bird_games_played": {
+ "name": "progression_minigames_flappy_bird_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_flappy_bird_total_passes": {
+ "name": "progression_minigames_flappy_bird_total_passes",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_flappy_bird_best_score": {
+ "name": "progression_minigames_flappy_bird_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_flappy_bird_xp_earned": {
+ "name": "progression_minigames_flappy_bird_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_games_played": {
+ "name": "progression_minigames_eod_minesweeper_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_wins": {
+ "name": "progression_minigames_eod_minesweeper_wins",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_losses": {
+ "name": "progression_minigames_eod_minesweeper_losses",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_score": {
+ "name": "progression_minigames_eod_minesweeper_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_xp_earned": {
+ "name": "progression_minigames_eod_minesweeper_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_training_time": {
+ "name": "progression_minigames_eod_minesweeper_best_training_time",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_perimeter_time": {
+ "name": "progression_minigames_eod_minesweeper_best_perimeter_time",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_supply_road_time": {
+ "name": "progression_minigames_eod_minesweeper_best_supply_road_time",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_training_flags": {
+ "name": "progression_minigames_eod_minesweeper_best_training_flags",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_perimeter_flags": {
+ "name": "progression_minigames_eod_minesweeper_best_perimeter_flags",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_eod_minesweeper_best_supply_road_flags": {
+ "name": "progression_minigames_eod_minesweeper_best_supply_road_flags",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_games_played": {
+ "name": "progression_minigames_radio_traffic_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_total_messages": {
+ "name": "progression_minigames_radio_traffic_total_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_incorrect_messages": {
+ "name": "progression_minigames_radio_traffic_incorrect_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_best_score": {
+ "name": "progression_minigames_radio_traffic_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_best_accuracy": {
+ "name": "progression_minigames_radio_traffic_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_best_sprint_time_ms": {
+ "name": "progression_minigames_radio_traffic_best_sprint_time_ms",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_sprint_games_played": {
+ "name": "progression_minigames_radio_traffic_sprint_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_sprint_total_messages": {
+ "name": "progression_minigames_radio_traffic_sprint_total_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_sprint_incorrect_messages": {
+ "name": "progression_minigames_radio_traffic_sprint_incorrect_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_sprint_best_score": {
+ "name": "progression_minigames_radio_traffic_sprint_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_sprint_best_accuracy": {
+ "name": "progression_minigames_radio_traffic_sprint_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_watch_games_played": {
+ "name": "progression_minigames_radio_traffic_watch_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_watch_total_messages": {
+ "name": "progression_minigames_radio_traffic_watch_total_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_watch_incorrect_messages": {
+ "name": "progression_minigames_radio_traffic_watch_incorrect_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_watch_best_score": {
+ "name": "progression_minigames_radio_traffic_watch_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_watch_best_accuracy": {
+ "name": "progression_minigames_radio_traffic_watch_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_radio_traffic_xp_earned": {
+ "name": "progression_minigames_radio_traffic_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_games_played": {
+ "name": "progression_minigames_aim_trainer_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_best_score": {
+ "name": "progression_minigames_aim_trainer_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_recruit_best_score": {
+ "name": "progression_minigames_aim_trainer_recruit_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_veteran_best_score": {
+ "name": "progression_minigames_aim_trainer_veteran_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_elite_best_score": {
+ "name": "progression_minigames_aim_trainer_elite_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_recruit_best_accuracy": {
+ "name": "progression_minigames_aim_trainer_recruit_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_veteran_best_accuracy": {
+ "name": "progression_minigames_aim_trainer_veteran_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_elite_best_accuracy": {
+ "name": "progression_minigames_aim_trainer_elite_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_aim_trainer_xp_earned": {
+ "name": "progression_minigames_aim_trainer_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_games_played": {
+ "name": "progression_minigames_opord_recall_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_best_score": {
+ "name": "progression_minigames_opord_recall_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_best_accuracy": {
+ "name": "progression_minigames_opord_recall_best_accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_recruit_best_score": {
+ "name": "progression_minigames_opord_recall_recruit_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_veteran_best_score": {
+ "name": "progression_minigames_opord_recall_veteran_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_elite_best_score": {
+ "name": "progression_minigames_opord_recall_elite_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_opord_recall_recruit_best_time_ms": {
+ "name": "progression_minigames_opord_recall_recruit_best_time_ms",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progression_minigames_opord_recall_veteran_best_time_ms": {
+ "name": "progression_minigames_opord_recall_veteran_best_time_ms",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progression_minigames_opord_recall_elite_best_time_ms": {
+ "name": "progression_minigames_opord_recall_elite_best_time_ms",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progression_minigames_opord_recall_xp_earned": {
+ "name": "progression_minigames_opord_recall_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_voiceover_xp_earned": {
+ "name": "progression_voiceover_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "profiles_user_idx": {
+ "name": "profiles_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_rank_idx": {
+ "name": "profiles_rank_idx",
+ "columns": [
+ {
+ "expression": "rank_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_updated_at_idx": {
+ "name": "profiles_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_created_at_idx": {
+ "name": "profiles_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "profiles_user_id_users_id_fk": {
+ "name": "profiles_user_id_users_id_fk",
+ "tableFrom": "profiles",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "profiles_rank_id_ranks_id_fk": {
+ "name": "profiles_rank_id_ranks_id_fk",
+ "tableFrom": "profiles",
+ "tableTo": "ranks",
+ "columnsFrom": [
+ "rank_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.profiles_rels": {
+ "name": "profiles_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "qualifications_id": {
+ "name": "qualifications_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "profiles_rels_order_idx": {
+ "name": "profiles_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_rels_parent_idx": {
+ "name": "profiles_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_rels_path_idx": {
+ "name": "profiles_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "profiles_rels_qualifications_id_idx": {
+ "name": "profiles_rels_qualifications_id_idx",
+ "columns": [
+ {
+ "expression": "qualifications_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "profiles_rels_parent_fk": {
+ "name": "profiles_rels_parent_fk",
+ "tableFrom": "profiles_rels",
+ "tableTo": "profiles",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "profiles_rels_qualifications_fk": {
+ "name": "profiles_rels_qualifications_fk",
+ "tableFrom": "profiles_rels",
+ "tableTo": "qualifications",
+ "columnsFrom": [
+ "qualifications_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.awards_grant_config_allowed_grantor_assignment_types": {
+ "name": "awards_grant_config_allowed_grantor_assignment_types",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_awards_grant_config_allowed_grantor_assignment_types",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "awards_grant_config_allowed_grantor_assignment_types_order_idx": {
+ "name": "awards_grant_config_allowed_grantor_assignment_types_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "awards_grant_config_allowed_grantor_assignment_types_parent_idx": {
+ "name": "awards_grant_config_allowed_grantor_assignment_types_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "awards_grant_config_allowed_grantor_assignment_types_parent_fk": {
+ "name": "awards_grant_config_allowed_grantor_assignment_types_parent_fk",
+ "tableFrom": "awards_grant_config_allowed_grantor_assignment_types",
+ "tableTo": "awards",
+ "columnsFrom": [
+ "parent_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'"
+ },
+ "commendation_color": {
+ "name": "commendation_color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'#92400e'"
+ },
+ "image_id": {
+ "name": "image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "experience_points": {
+ "name": "experience_points",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ribbon_design": {
+ "name": "ribbon_design",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "background_image_id": {
+ "name": "background_image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "medal_design": {
+ "name": "medal_design",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grant_config_max_grants_per_grantor": {
+ "name": "grant_config_max_grants_per_grantor",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grant_config_recipient_scope": {
+ "name": "grant_config_recipient_scope",
+ "type": "enum_awards_grant_config_recipient_scope",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'same_command'"
+ },
+ "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_background_image_idx": {
+ "name": "awards_background_image_idx",
+ "columns": [
+ {
+ "expression": "background_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"
+ },
+ "awards_background_image_id_media_id_fk": {
+ "name": "awards_background_image_id_media_id_fk",
+ "tableFrom": "awards",
+ "tableTo": "media",
+ "columnsFrom": [
+ "background_image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.awards_rels": {
+ "name": "awards_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assignments_id": {
+ "name": "assignments_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "awards_rels_order_idx": {
+ "name": "awards_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "awards_rels_parent_idx": {
+ "name": "awards_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "awards_rels_path_idx": {
+ "name": "awards_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "awards_rels_assignments_id_idx": {
+ "name": "awards_rels_assignments_id_idx",
+ "columns": [
+ {
+ "expression": "assignments_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "awards_rels_parent_fk": {
+ "name": "awards_rels_parent_fk",
+ "tableFrom": "awards_rels",
+ "tableTo": "awards",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "awards_rels_assignments_fk": {
+ "name": "awards_rels_assignments_fk",
+ "tableFrom": "awards_rels",
+ "tableTo": "assignments",
+ "columnsFrom": [
+ "assignments_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "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.assignment_transfers": {
+ "name": "assignment_transfers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "from_assignment_id": {
+ "name": "from_assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "to_assignment_id": {
+ "name": "to_assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_assignment_transfers_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "escalation_reason": {
+ "name": "escalation_reason",
+ "type": "enum_assignment_transfers_escalation_reason",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "from_leader_decision": {
+ "name": "from_leader_decision",
+ "type": "enum_assignment_transfers_from_leader_decision",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "to_leader_decision": {
+ "name": "to_leader_decision",
+ "type": "enum_assignment_transfers_to_leader_decision",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "from_decision_by_id": {
+ "name": "from_decision_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "to_decision_by_id": {
+ "name": "to_decision_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "from_decided_at": {
+ "name": "from_decided_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "to_decided_at": {
+ "name": "to_decided_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "from_leader_snapshot_id": {
+ "name": "from_leader_snapshot_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "to_leader_snapshot_id": {
+ "name": "to_leader_snapshot_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejection_reason": {
+ "name": "rejection_reason",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "request_note": {
+ "name": "request_note",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "appeal_note": {
+ "name": "appeal_note",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resolved_by_id": {
+ "name": "resolved_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resolution_note": {
+ "name": "resolution_note",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resolved_at": {
+ "name": "resolved_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_from_leader_message_id": {
+ "name": "discord_from_leader_message_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_to_leader_message_id": {
+ "name": "discord_to_leader_message_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_requester_message_id": {
+ "name": "discord_requester_message_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_notified_to_user_id_id": {
+ "name": "source_notified_to_user_id_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "destination_notified_to_user_id_id": {
+ "name": "destination_notified_to_user_id_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_delivered_keys": {
+ "name": "discord_delivered_keys",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[]'::jsonb"
+ },
+ "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": {
+ "assignment_transfers_requester_idx": {
+ "name": "assignment_transfers_requester_idx",
+ "columns": [
+ {
+ "expression": "requester_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_from_assignment_idx": {
+ "name": "assignment_transfers_from_assignment_idx",
+ "columns": [
+ {
+ "expression": "from_assignment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_to_assignment_idx": {
+ "name": "assignment_transfers_to_assignment_idx",
+ "columns": [
+ {
+ "expression": "to_assignment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_status_idx": {
+ "name": "assignment_transfers_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_from_decision_by_idx": {
+ "name": "assignment_transfers_from_decision_by_idx",
+ "columns": [
+ {
+ "expression": "from_decision_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_to_decision_by_idx": {
+ "name": "assignment_transfers_to_decision_by_idx",
+ "columns": [
+ {
+ "expression": "to_decision_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_from_leader_snapshot_idx": {
+ "name": "assignment_transfers_from_leader_snapshot_idx",
+ "columns": [
+ {
+ "expression": "from_leader_snapshot_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_to_leader_snapshot_idx": {
+ "name": "assignment_transfers_to_leader_snapshot_idx",
+ "columns": [
+ {
+ "expression": "to_leader_snapshot_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_resolved_by_idx": {
+ "name": "assignment_transfers_resolved_by_idx",
+ "columns": [
+ {
+ "expression": "resolved_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_source_notified_to_user_id_idx": {
+ "name": "assignment_transfers_source_notified_to_user_id_idx",
+ "columns": [
+ {
+ "expression": "source_notified_to_user_id_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_destination_notified_to_user_id_idx": {
+ "name": "assignment_transfers_destination_notified_to_user_id_idx",
+ "columns": [
+ {
+ "expression": "destination_notified_to_user_id_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_updated_at_idx": {
+ "name": "assignment_transfers_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assignment_transfers_created_at_idx": {
+ "name": "assignment_transfers_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assignment_transfers_requester_id_users_id_fk": {
+ "name": "assignment_transfers_requester_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requester_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_from_assignment_id_assignments_id_fk": {
+ "name": "assignment_transfers_from_assignment_id_assignments_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "assignments",
+ "columnsFrom": [
+ "from_assignment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_to_assignment_id_assignments_id_fk": {
+ "name": "assignment_transfers_to_assignment_id_assignments_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "assignments",
+ "columnsFrom": [
+ "to_assignment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_from_decision_by_id_users_id_fk": {
+ "name": "assignment_transfers_from_decision_by_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "from_decision_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_to_decision_by_id_users_id_fk": {
+ "name": "assignment_transfers_to_decision_by_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "to_decision_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_from_leader_snapshot_id_users_id_fk": {
+ "name": "assignment_transfers_from_leader_snapshot_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "from_leader_snapshot_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_to_leader_snapshot_id_users_id_fk": {
+ "name": "assignment_transfers_to_leader_snapshot_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "to_leader_snapshot_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_resolved_by_id_users_id_fk": {
+ "name": "assignment_transfers_resolved_by_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "resolved_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_source_notified_to_user_id_id_users_id_fk": {
+ "name": "assignment_transfers_source_notified_to_user_id_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "source_notified_to_user_id_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "assignment_transfers_destination_notified_to_user_id_id_users_id_fk": {
+ "name": "assignment_transfers_destination_notified_to_user_id_id_users_id_fk",
+ "tableFrom": "assignment_transfers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "destination_notified_to_user_id_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.experience": {
+ "name": "experience",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "required_points": {
+ "name": "required_points",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "experience_name_idx": {
+ "name": "experience_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "experience_updated_at_idx": {
+ "name": "experience_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "experience_created_at_idx": {
+ "name": "experience_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.user_notifications": {
+ "name": "user_notifications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "message": {
+ "name": "message",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "link": {
+ "name": "link",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "read": {
+ "name": "read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "user_notifications_user_idx": {
+ "name": "user_notifications_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "user_notifications_read_idx": {
+ "name": "user_notifications_read_idx",
+ "columns": [
+ {
+ "expression": "read",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "user_notifications_updated_at_idx": {
+ "name": "user_notifications_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "user_notifications_created_at_idx": {
+ "name": "user_notifications_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "user_notifications_user_id_users_id_fk": {
+ "name": "user_notifications_user_id_users_id_fk",
+ "tableFrom": "user_notifications",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluations": {
+ "name": "evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rater_id": {
+ "name": "rater_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ratee_id": {
+ "name": "ratee_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mission_id": {
+ "name": "mission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "kind": {
+ "name": "kind",
+ "type": "enum_evaluations_kind",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "level": {
+ "name": "level",
+ "type": "enum_evaluations_level",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "comment": {
+ "name": "comment",
+ "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": {
+ "evaluations_rater_idx": {
+ "name": "evaluations_rater_idx",
+ "columns": [
+ {
+ "expression": "rater_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "evaluations_ratee_idx": {
+ "name": "evaluations_ratee_idx",
+ "columns": [
+ {
+ "expression": "ratee_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "evaluations_mission_idx": {
+ "name": "evaluations_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "evaluations_updated_at_idx": {
+ "name": "evaluations_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "evaluations_created_at_idx": {
+ "name": "evaluations_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "evaluations_rater_id_users_id_fk": {
+ "name": "evaluations_rater_id_users_id_fk",
+ "tableFrom": "evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "rater_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "evaluations_ratee_id_users_id_fk": {
+ "name": "evaluations_ratee_id_users_id_fk",
+ "tableFrom": "evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "ratee_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "evaluations_mission_id_missions_id_fk": {
+ "name": "evaluations_mission_id_missions_id_fk",
+ "tableFrom": "evaluations",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_mission_roles_provided_roles": {
+ "name": "missions_mission_roles_provided_roles",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "role_name": {
+ "name": "role_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mission_critical": {
+ "name": "mission_critical",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "minimum_rank_id": {
+ "name": "minimum_rank_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "missions_mission_roles_provided_roles_order_idx": {
+ "name": "missions_mission_roles_provided_roles_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_mission_roles_provided_roles_parent_id_idx": {
+ "name": "missions_mission_roles_provided_roles_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_mission_roles_provided_roles_minimum_rank_idx": {
+ "name": "missions_mission_roles_provided_roles_minimum_rank_idx",
+ "columns": [
+ {
+ "expression": "minimum_rank_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk": {
+ "name": "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk",
+ "tableFrom": "missions_mission_roles_provided_roles",
+ "tableTo": "ranks",
+ "columnsFrom": [
+ "minimum_rank_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_mission_roles_provided_roles_parent_id_fk": {
+ "name": "missions_mission_roles_provided_roles_parent_id_fk",
+ "tableFrom": "missions_mission_roles_provided_roles",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_briefing": {
+ "name": "missions_briefing",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "section_name": {
+ "name": "section_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "details": {
+ "name": "details",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "missions_briefing_order_idx": {
+ "name": "missions_briefing_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_briefing_parent_id_idx": {
+ "name": "missions_briefing_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_briefing_parent_id_fk": {
+ "name": "missions_briefing_parent_id_fk",
+ "tableFrom": "missions_briefing",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_mission_objectives": {
+ "name": "missions_mission_objectives",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mission_critical": {
+ "name": "mission_critical",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "success_or_fail_conditions": {
+ "name": "success_or_fail_conditions",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "redacted": {
+ "name": "redacted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {
+ "missions_mission_objectives_order_idx": {
+ "name": "missions_mission_objectives_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_mission_objectives_parent_id_idx": {
+ "name": "missions_mission_objectives_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_mission_objectives_parent_id_fk": {
+ "name": "missions_mission_objectives_parent_id_fk",
+ "tableFrom": "missions_mission_objectives",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_factions_involved": {
+ "name": "missions_factions_involved",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "faction_id": {
+ "name": "faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "threat_level": {
+ "name": "threat_level",
+ "type": "enum_missions_factions_involved_threat_level",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'hostile'"
+ }
+ },
+ "indexes": {
+ "missions_factions_involved_order_idx": {
+ "name": "missions_factions_involved_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_factions_involved_parent_id_idx": {
+ "name": "missions_factions_involved_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_factions_involved_faction_idx": {
+ "name": "missions_factions_involved_faction_idx",
+ "columns": [
+ {
+ "expression": "faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_factions_involved_faction_id_factions_id_fk": {
+ "name": "missions_factions_involved_faction_id_factions_id_fk",
+ "tableFrom": "missions_factions_involved",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_factions_involved_parent_id_fk": {
+ "name": "missions_factions_involved_parent_id_fk",
+ "tableFrom": "missions_factions_involved",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_logistics_and_support_insertion": {
+ "name": "missions_logistics_and_support_insertion",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_missions_logistics_and_support_insertion",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "missions_logistics_and_support_insertion_order_idx": {
+ "name": "missions_logistics_and_support_insertion_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_logistics_and_support_insertion_parent_idx": {
+ "name": "missions_logistics_and_support_insertion_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_logistics_and_support_insertion_parent_fk": {
+ "name": "missions_logistics_and_support_insertion_parent_fk",
+ "tableFrom": "missions_logistics_and_support_insertion",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_logistics_and_support_extraction": {
+ "name": "missions_logistics_and_support_extraction",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_missions_logistics_and_support_extraction",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "missions_logistics_and_support_extraction_order_idx": {
+ "name": "missions_logistics_and_support_extraction_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_logistics_and_support_extraction_parent_idx": {
+ "name": "missions_logistics_and_support_extraction_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_logistics_and_support_extraction_parent_fk": {
+ "name": "missions_logistics_and_support_extraction_parent_fk",
+ "tableFrom": "missions_logistics_and_support_extraction",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_logistics_and_support_assets_available": {
+ "name": "missions_logistics_and_support_assets_available",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "asset_type": {
+ "name": "asset_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "asset_count": {
+ "name": "asset_count",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "does_respawn": {
+ "name": "does_respawn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "asset_callsign": {
+ "name": "asset_callsign",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "missions_logistics_and_support_assets_available_order_idx": {
+ "name": "missions_logistics_and_support_assets_available_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_logistics_and_support_assets_available_parent_id_idx": {
+ "name": "missions_logistics_and_support_assets_available_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_logistics_and_support_assets_available_parent_id_fk": {
+ "name": "missions_logistics_and_support_assets_available_parent_id_fk",
+ "tableFrom": "missions_logistics_and_support_assets_available",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_comms_and_docs_frequencies": {
+ "name": "missions_comms_and_docs_frequencies",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "frequency": {
+ "name": "frequency",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "channel": {
+ "name": "channel",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_name": {
+ "name": "net_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "freq_usage": {
+ "name": "freq_usage",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "missions_comms_and_docs_frequencies_order_idx": {
+ "name": "missions_comms_and_docs_frequencies_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_comms_and_docs_frequencies_parent_id_idx": {
+ "name": "missions_comms_and_docs_frequencies_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_comms_and_docs_frequencies_parent_id_fk": {
+ "name": "missions_comms_and_docs_frequencies_parent_id_fk",
+ "tableFrom": "missions_comms_and_docs_frequencies",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions": {
+ "name": "missions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_name": {
+ "name": "code_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "operation_type": {
+ "name": "operation_type",
+ "type": "enum_missions_operation_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "discord_message_id": {
+ "name": "discord_message_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_attendance_hash": {
+ "name": "discord_attendance_hash",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_attendance_sent_at": {
+ "name": "discord_attendance_sent_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discord_modlist_hash": {
+ "name": "discord_modlist_hash",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_reminders_sent_at": {
+ "name": "evaluation_reminders_sent_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ready_reminder_web_sent_at": {
+ "name": "ready_reminder_web_sent_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ready_reminder_dm_sent_at": {
+ "name": "ready_reminder_dm_sent_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cover_image_id": {
+ "name": "cover_image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification_map_id": {
+ "name": "classification_map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "classification_mission_type": {
+ "name": "classification_mission_type",
+ "type": "enum_missions_classification_mission_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Zeus'"
+ },
+ "classification_campaign_id": {
+ "name": "classification_campaign_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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'"
+ },
+ "ownership_and_status_completed_at": {
+ "name": "ownership_and_status_completed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mission_roles_max_players": {
+ "name": "mission_roles_max_players",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 32
+ },
+ "mission_roles_notes": {
+ "name": "mission_roles_notes",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "civilian_presence": {
+ "name": "civilian_presence",
+ "type": "enum_missions_civilian_presence",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'None'"
+ },
+ "game_details_server_details_server_ip": {
+ "name": "game_details_server_details_server_ip",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'arma.onyxsimple.com'"
+ },
+ "game_details_server_details_server_port": {
+ "name": "game_details_server_details_server_port",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 2302
+ },
+ "game_details_server_details_server_password": {
+ "name": "game_details_server_details_server_password",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'ptf313'"
+ },
+ "game_details_game_setup_mission_file_id": {
+ "name": "game_details_game_setup_mission_file_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_details_game_setup_required_mods_id": {
+ "name": "game_details_game_setup_required_mods_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comms_and_docs_radio_plan": {
+ "name": "comms_and_docs_radio_plan",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "missions_code_name_idx": {
+ "name": "missions_code_name_idx",
+ "columns": [
+ {
+ "expression": "code_name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_created_by_idx": {
+ "name": "missions_created_by_idx",
+ "columns": [
+ {
+ "expression": "created_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_cover_image_idx": {
+ "name": "missions_cover_image_idx",
+ "columns": [
+ {
+ "expression": "cover_image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_classification_classification_map_idx": {
+ "name": "missions_classification_classification_map_idx",
+ "columns": [
+ {
+ "expression": "classification_map_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_classification_classification_campaign_idx": {
+ "name": "missions_classification_classification_campaign_idx",
+ "columns": [
+ {
+ "expression": "classification_campaign_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_game_details_game_setup_game_details_game_setup_idx": {
+ "name": "missions_game_details_game_setup_game_details_game_setup_idx",
+ "columns": [
+ {
+ "expression": "game_details_game_setup_mission_file_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_game_details_game_setup_game_details_game_set_1_idx": {
+ "name": "missions_game_details_game_setup_game_details_game_set_1_idx",
+ "columns": [
+ {
+ "expression": "game_details_game_setup_required_mods_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_updated_at_idx": {
+ "name": "missions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_created_at_idx": {
+ "name": "missions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_created_by_id_users_id_fk": {
+ "name": "missions_created_by_id_users_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_cover_image_id_media_id_fk": {
+ "name": "missions_cover_image_id_media_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "media",
+ "columnsFrom": [
+ "cover_image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_classification_map_id_maps_id_fk": {
+ "name": "missions_classification_map_id_maps_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "classification_map_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_classification_campaign_id_campaigns_id_fk": {
+ "name": "missions_classification_campaign_id_campaigns_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "campaigns",
+ "columnsFrom": [
+ "classification_campaign_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_game_details_game_setup_mission_file_id_mission_files_id_fk": {
+ "name": "missions_game_details_game_setup_mission_file_id_mission_files_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "mission_files",
+ "columnsFrom": [
+ "game_details_game_setup_mission_file_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk": {
+ "name": "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk",
+ "tableFrom": "missions",
+ "tableTo": "mod_lists",
+ "columnsFrom": [
+ "game_details_game_setup_required_mods_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.missions_rels": {
+ "name": "missions_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "users_id": {
+ "name": "users_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qualifications_id": {
+ "name": "qualifications_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "missions_rels_order_idx": {
+ "name": "missions_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_rels_parent_idx": {
+ "name": "missions_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_rels_path_idx": {
+ "name": "missions_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_rels_users_id_idx": {
+ "name": "missions_rels_users_id_idx",
+ "columns": [
+ {
+ "expression": "users_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "missions_rels_qualifications_id_idx": {
+ "name": "missions_rels_qualifications_id_idx",
+ "columns": [
+ {
+ "expression": "qualifications_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "missions_rels_parent_fk": {
+ "name": "missions_rels_parent_fk",
+ "tableFrom": "missions_rels",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "missions_rels_users_fk": {
+ "name": "missions_rels_users_fk",
+ "tableFrom": "missions_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "missions_rels_qualifications_fk": {
+ "name": "missions_rels_qualifications_fk",
+ "tableFrom": "missions_rels",
+ "tableTo": "qualifications",
+ "columnsFrom": [
+ "qualifications_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.mission_attendances": {
+ "name": "mission_attendances",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "mission_id": {
+ "name": "mission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response": {
+ "name": "response",
+ "type": "enum_mission_attendances_response",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "mission_attendances_mission_idx": {
+ "name": "mission_attendances_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_attendances_user_idx": {
+ "name": "mission_attendances_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_attendances_updated_at_idx": {
+ "name": "mission_attendances_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_attendances_created_at_idx": {
+ "name": "mission_attendances_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "mission_attendances_mission_id_missions_id_fk": {
+ "name": "mission_attendances_mission_id_missions_id_fk",
+ "tableFrom": "mission_attendances",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "mission_attendances_user_id_users_id_fk": {
+ "name": "mission_attendances_user_id_users_id_fk",
+ "tableFrom": "mission_attendances",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.campaigns": {
+ "name": "campaigns",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'An Arma 3 campaign.'"
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_campaigns_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'concept'"
+ },
+ "campaign_mode": {
+ "name": "campaign_mode",
+ "type": "enum_campaigns_campaign_mode",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'custom'"
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "end_date": {
+ "name": "end_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cover_image_id": {
+ "name": "cover_image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "owner_id": {
+ "name": "owner_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "campaigns_name_idx": {
+ "name": "campaigns_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "campaigns_cover_image_idx": {
+ "name": "campaigns_cover_image_idx",
+ "columns": [
+ {
+ "expression": "cover_image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "campaigns_owner_idx": {
+ "name": "campaigns_owner_idx",
+ "columns": [
+ {
+ "expression": "owner_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "campaigns_updated_at_idx": {
+ "name": "campaigns_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "campaigns_created_at_idx": {
+ "name": "campaigns_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "campaigns_cover_image_id_media_id_fk": {
+ "name": "campaigns_cover_image_id_media_id_fk",
+ "tableFrom": "campaigns",
+ "tableTo": "media",
+ "columnsFrom": [
+ "cover_image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "campaigns_owner_id_users_id_fk": {
+ "name": "campaigns_owner_id_users_id_fk",
+ "tableFrom": "campaigns",
+ "tableTo": "users",
+ "columnsFrom": [
+ "owner_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.factions_relationships": {
+ "name": "factions_relationships",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "target_faction_id": {
+ "name": "target_faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "notes": {
+ "name": "notes",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "factions_relationships_order_idx": {
+ "name": "factions_relationships_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_relationships_parent_id_idx": {
+ "name": "factions_relationships_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_relationships_target_faction_idx": {
+ "name": "factions_relationships_target_faction_idx",
+ "columns": [
+ {
+ "expression": "target_faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "factions_relationships_target_faction_id_factions_id_fk": {
+ "name": "factions_relationships_target_faction_id_factions_id_fk",
+ "tableFrom": "factions_relationships",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "target_faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "factions_relationships_parent_id_fk": {
+ "name": "factions_relationships_parent_id_fk",
+ "tableFrom": "factions_relationships",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.factions": {
+ "name": "factions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_factions_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'minorFaction'"
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reputation": {
+ "name": "reputation",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "playable_faction": {
+ "name": "playable_faction",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "starting_faction": {
+ "name": "starting_faction",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cover_image_id": {
+ "name": "cover_image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "factions_name_idx": {
+ "name": "factions_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_cover_image_idx": {
+ "name": "factions_cover_image_idx",
+ "columns": [
+ {
+ "expression": "cover_image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_updated_at_idx": {
+ "name": "factions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_created_at_idx": {
+ "name": "factions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "factions_cover_image_id_media_id_fk": {
+ "name": "factions_cover_image_id_media_id_fk",
+ "tableFrom": "factions",
+ "tableTo": "media",
+ "columnsFrom": [
+ "cover_image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.factions_rels": {
+ "name": "factions_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "campaigns_id": {
+ "name": "campaigns_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "factions_rels_order_idx": {
+ "name": "factions_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_rels_parent_idx": {
+ "name": "factions_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_rels_path_idx": {
+ "name": "factions_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "factions_rels_campaigns_id_idx": {
+ "name": "factions_rels_campaigns_id_idx",
+ "columns": [
+ {
+ "expression": "campaigns_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "factions_rels_parent_fk": {
+ "name": "factions_rels_parent_fk",
+ "tableFrom": "factions_rels",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "factions_rels_campaigns_fk": {
+ "name": "factions_rels_campaigns_fk",
+ "tableFrom": "factions_rels",
+ "tableTo": "campaigns",
+ "columnsFrom": [
+ "campaigns_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.technologies_requirements_prerequisite_technologies": {
+ "name": "technologies_requirements_prerequisite_technologies",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "technologies_requirements_prerequisite_technologies_order_idx": {
+ "name": "technologies_requirements_prerequisite_technologies_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_requirements_prerequisite_technologies_parent_id_idx": {
+ "name": "technologies_requirements_prerequisite_technologies_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "technologies_requirements_prerequisite_technologies_parent_id_fk": {
+ "name": "technologies_requirements_prerequisite_technologies_parent_id_fk",
+ "tableFrom": "technologies_requirements_prerequisite_technologies",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.technologies_research_costs_resources": {
+ "name": "technologies_research_costs_resources",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ }
+ },
+ "indexes": {
+ "technologies_research_costs_resources_order_idx": {
+ "name": "technologies_research_costs_resources_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_research_costs_resources_parent_id_idx": {
+ "name": "technologies_research_costs_resources_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_research_costs_resources_resource_idx": {
+ "name": "technologies_research_costs_resources_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "technologies_research_costs_resources_resource_id_resources_id_fk": {
+ "name": "technologies_research_costs_resources_resource_id_resources_id_fk",
+ "tableFrom": "technologies_research_costs_resources",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "technologies_research_costs_resources_parent_id_fk": {
+ "name": "technologies_research_costs_resources_parent_id_fk",
+ "tableFrom": "technologies_research_costs_resources",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.technologies": {
+ "name": "technologies",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "enum_technologies_approval_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'in_progress'"
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_technologies_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'upgrade'"
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "research_costs_minimum_research_duration": {
+ "name": "research_costs_minimum_research_duration",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "research_costs_maximum_research_duration": {
+ "name": "research_costs_maximum_research_duration",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "technologies_updated_at_idx": {
+ "name": "technologies_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_created_at_idx": {
+ "name": "technologies_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.technologies_rels": {
+ "name": "technologies_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "technologies_id": {
+ "name": "technologies_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "technologies_rels_order_idx": {
+ "name": "technologies_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_rels_parent_idx": {
+ "name": "technologies_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_rels_path_idx": {
+ "name": "technologies_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "technologies_rels_technologies_id_idx": {
+ "name": "technologies_rels_technologies_id_idx",
+ "columns": [
+ {
+ "expression": "technologies_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "technologies_rels_parent_fk": {
+ "name": "technologies_rels_parent_fk",
+ "tableFrom": "technologies_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "technologies_rels_technologies_fk": {
+ "name": "technologies_rels_technologies_fk",
+ "tableFrom": "technologies_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "technologies_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.assets_skin_configuration_applies_to_asset_types": {
+ "name": "assets_skin_configuration_applies_to_asset_types",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_assets_skin_configuration_applies_to_asset_types",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "assets_skin_configuration_applies_to_asset_types_order_idx": {
+ "name": "assets_skin_configuration_applies_to_asset_types_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_skin_configuration_applies_to_asset_types_parent_idx": {
+ "name": "assets_skin_configuration_applies_to_asset_types_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assets_skin_configuration_applies_to_asset_types_parent_fk": {
+ "name": "assets_skin_configuration_applies_to_asset_types_parent_fk",
+ "tableFrom": "assets_skin_configuration_applies_to_asset_types",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.assets_crafting_crafting_data_inputs": {
+ "name": "assets_crafting_crafting_data_inputs",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lended": {
+ "name": "lended",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "assets_crafting_crafting_data_inputs_order_idx": {
+ "name": "assets_crafting_crafting_data_inputs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_crafting_crafting_data_inputs_parent_id_idx": {
+ "name": "assets_crafting_crafting_data_inputs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assets_crafting_crafting_data_inputs_parent_id_fk": {
+ "name": "assets_crafting_crafting_data_inputs_parent_id_fk",
+ "tableFrom": "assets_crafting_crafting_data_inputs",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.assets_crafting_crafting_data_byproducts": {
+ "name": "assets_crafting_crafting_data_byproducts",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "assets_crafting_crafting_data_byproducts_order_idx": {
+ "name": "assets_crafting_crafting_data_byproducts_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_crafting_crafting_data_byproducts_parent_id_idx": {
+ "name": "assets_crafting_crafting_data_byproducts_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assets_crafting_crafting_data_byproducts_parent_id_fk": {
+ "name": "assets_crafting_crafting_data_byproducts_parent_id_fk",
+ "tableFrom": "assets_crafting_crafting_data_byproducts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.assets": {
+ "name": "assets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "enum_assets_approval_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'in_progress'"
+ },
+ "class_name": {
+ "name": "class_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "''"
+ },
+ "asset_type": {
+ "name": "asset_type",
+ "type": "enum_assets_asset_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'weapon'"
+ },
+ "weapon_configuration_slot_type": {
+ "name": "weapon_configuration_slot_type",
+ "type": "enum_assets_weapon_configuration_slot_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "nightvision_configuration_nvg_generation": {
+ "name": "nightvision_configuration_nvg_generation",
+ "type": "enum_assets_nightvision_configuration_nvg_generation",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "nightvision_configuration_nvg_has_thermals": {
+ "name": "nightvision_configuration_nvg_has_thermals",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "container_configuration_capacity_kg": {
+ "name": "container_configuration_capacity_kg",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "container_configuration_weight_kg": {
+ "name": "container_configuration_weight_kg",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "magazine_configuration_round_capacity": {
+ "name": "magazine_configuration_round_capacity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "magazine_configuration_ammo_type": {
+ "name": "magazine_configuration_ammo_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "magazine_configuration_greenmag_compatible": {
+ "name": "magazine_configuration_greenmag_compatible",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "asset_metadata_mod": {
+ "name": "asset_metadata_mod",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "asset_metadata_thumbnail_id": {
+ "name": "asset_metadata_thumbnail_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "asset_metadata_game_description": {
+ "name": "asset_metadata_game_description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tradeable": {
+ "name": "tradeable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_trading_rarity": {
+ "name": "market_trading_rarity",
+ "type": "enum_assets_market_trading_rarity",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_trading_perceived_value_base_buy_price": {
+ "name": "market_trading_perceived_value_base_buy_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_trading_perceived_value_base_sell_price": {
+ "name": "market_trading_perceived_value_base_sell_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "economy_enabled": {
+ "name": "economy_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "economy_baseline_supply": {
+ "name": "economy_baseline_supply",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ },
+ "economy_baseline_demand": {
+ "name": "economy_baseline_demand",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 50
+ },
+ "economy_max_modifier": {
+ "name": "economy_max_modifier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "crafting_craftable": {
+ "name": "crafting_craftable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "crafting_blueprint_required": {
+ "name": "crafting_blueprint_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "crafting_technology_required_to_use": {
+ "name": "crafting_technology_required_to_use",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "crafting_crafting_data_crafting_time_per_unit": {
+ "name": "crafting_crafting_data_crafting_time_per_unit",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "crafting_crafting_data_batch_size": {
+ "name": "crafting_crafting_data_batch_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "storage_dimensions_grid_width": {
+ "name": "storage_dimensions_grid_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "storage_dimensions_grid_height": {
+ "name": "storage_dimensions_grid_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "storage_dimensions_stackable": {
+ "name": "storage_dimensions_stackable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "storage_dimensions_max_stack_size": {
+ "name": "storage_dimensions_max_stack_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "storage_dimensions_rotatable": {
+ "name": "storage_dimensions_rotatable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "is_live": {
+ "name": "is_live",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "assets_asset_metadata_asset_metadata_thumbnail_idx": {
+ "name": "assets_asset_metadata_asset_metadata_thumbnail_idx",
+ "columns": [
+ {
+ "expression": "asset_metadata_thumbnail_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_updated_at_idx": {
+ "name": "assets_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_created_at_idx": {
+ "name": "assets_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assets_asset_metadata_thumbnail_id_media_id_fk": {
+ "name": "assets_asset_metadata_thumbnail_id_media_id_fk",
+ "tableFrom": "assets",
+ "tableTo": "media",
+ "columnsFrom": [
+ "asset_metadata_thumbnail_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.assets_rels": {
+ "name": "assets_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "technologies_id": {
+ "name": "technologies_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resources_id": {
+ "name": "resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "structures_id": {
+ "name": "structures_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "assets_rels_order_idx": {
+ "name": "assets_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_parent_idx": {
+ "name": "assets_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_path_idx": {
+ "name": "assets_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_assets_id_idx": {
+ "name": "assets_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_technologies_id_idx": {
+ "name": "assets_rels_technologies_id_idx",
+ "columns": [
+ {
+ "expression": "technologies_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_resources_id_idx": {
+ "name": "assets_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "assets_rels_structures_id_idx": {
+ "name": "assets_rels_structures_id_idx",
+ "columns": [
+ {
+ "expression": "structures_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "assets_rels_parent_fk": {
+ "name": "assets_rels_parent_fk",
+ "tableFrom": "assets_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "assets_rels_assets_fk": {
+ "name": "assets_rels_assets_fk",
+ "tableFrom": "assets_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "assets_rels_technologies_fk": {
+ "name": "assets_rels_technologies_fk",
+ "tableFrom": "assets_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "technologies_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "assets_rels_resources_fk": {
+ "name": "assets_rels_resources_fk",
+ "tableFrom": "assets_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "assets_rels_structures_fk": {
+ "name": "assets_rels_structures_fk",
+ "tableFrom": "assets_rels",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "structures_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.resources": {
+ "name": "resources",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_name": {
+ "name": "code_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "enum_resources_approval_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'in_progress'"
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_resources_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'physical'"
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "icon_id": {
+ "name": "icon_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "color": {
+ "name": "color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "base_value": {
+ "name": "base_value",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "tradeable": {
+ "name": "tradeable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rarity": {
+ "name": "rarity",
+ "type": "enum_resources_rarity",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'common'"
+ },
+ "economy_enabled": {
+ "name": "economy_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "economy_baseline_supply": {
+ "name": "economy_baseline_supply",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ },
+ "economy_baseline_demand": {
+ "name": "economy_baseline_demand",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 50
+ },
+ "economy_max_modifier": {
+ "name": "economy_max_modifier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mass_per_unit": {
+ "name": "mass_per_unit",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "stack_size": {
+ "name": "stack_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "grid_width": {
+ "name": "grid_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "grid_height": {
+ "name": "grid_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "stackable": {
+ "name": "stackable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "max_stack_size": {
+ "name": "max_stack_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rotatable": {
+ "name": "rotatable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "resources_icon_idx": {
+ "name": "resources_icon_idx",
+ "columns": [
+ {
+ "expression": "icon_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resources_updated_at_idx": {
+ "name": "resources_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resources_created_at_idx": {
+ "name": "resources_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "resources_icon_id_media_id_fk": {
+ "name": "resources_icon_id_media_id_fk",
+ "tableFrom": "resources",
+ "tableTo": "media",
+ "columnsFrom": [
+ "icon_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_category": {
+ "name": "vehicles_category",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_vehicles_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "vehicles_category_order_idx": {
+ "name": "vehicles_category_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_category_parent_idx": {
+ "name": "vehicles_category_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_category_parent_fk": {
+ "name": "vehicles_category_parent_fk",
+ "tableFrom": "vehicles_category",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_materials": {
+ "name": "vehicles_materials",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "vehicles_materials_order_idx": {
+ "name": "vehicles_materials_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_materials_parent_id_idx": {
+ "name": "vehicles_materials_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_materials_resource_idx": {
+ "name": "vehicles_materials_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_materials_resource_id_resources_id_fk": {
+ "name": "vehicles_materials_resource_id_resources_id_fk",
+ "tableFrom": "vehicles_materials",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vehicles_materials_parent_id_fk": {
+ "name": "vehicles_materials_parent_id_fk",
+ "tableFrom": "vehicles_materials",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_scrap_returns": {
+ "name": "vehicles_scrap_returns",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "chance": {
+ "name": "chance",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ }
+ },
+ "indexes": {
+ "vehicles_scrap_returns_order_idx": {
+ "name": "vehicles_scrap_returns_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_scrap_returns_parent_id_idx": {
+ "name": "vehicles_scrap_returns_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_scrap_returns_resource_idx": {
+ "name": "vehicles_scrap_returns_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_scrap_returns_resource_id_resources_id_fk": {
+ "name": "vehicles_scrap_returns_resource_id_resources_id_fk",
+ "tableFrom": "vehicles_scrap_returns",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vehicles_scrap_returns_parent_id_fk": {
+ "name": "vehicles_scrap_returns_parent_id_fk",
+ "tableFrom": "vehicles_scrap_returns",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_upkeep_costs": {
+ "name": "vehicles_upkeep_costs",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ }
+ },
+ "indexes": {
+ "vehicles_upkeep_costs_order_idx": {
+ "name": "vehicles_upkeep_costs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_upkeep_costs_parent_id_idx": {
+ "name": "vehicles_upkeep_costs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_upkeep_costs_resource_idx": {
+ "name": "vehicles_upkeep_costs_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_upkeep_costs_resource_id_resources_id_fk": {
+ "name": "vehicles_upkeep_costs_resource_id_resources_id_fk",
+ "tableFrom": "vehicles_upkeep_costs",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vehicles_upkeep_costs_parent_id_fk": {
+ "name": "vehicles_upkeep_costs_parent_id_fk",
+ "tableFrom": "vehicles_upkeep_costs",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_allowed_virtual_cargo": {
+ "name": "vehicles_allowed_virtual_cargo",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ }
+ },
+ "indexes": {
+ "vehicles_allowed_virtual_cargo_order_idx": {
+ "name": "vehicles_allowed_virtual_cargo_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_allowed_virtual_cargo_parent_id_idx": {
+ "name": "vehicles_allowed_virtual_cargo_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_allowed_virtual_cargo_parent_id_fk": {
+ "name": "vehicles_allowed_virtual_cargo_parent_id_fk",
+ "tableFrom": "vehicles_allowed_virtual_cargo",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_pylons": {
+ "name": "vehicles_pylons",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pylon_name": {
+ "name": "pylon_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pylon_type": {
+ "name": "pylon_type",
+ "type": "enum_vehicles_pylons_pylon_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'mountedWeapon'"
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "ammo_type_id": {
+ "name": "ammo_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "vehicles_pylons_order_idx": {
+ "name": "vehicles_pylons_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_pylons_parent_id_idx": {
+ "name": "vehicles_pylons_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_pylons_ammo_type_idx": {
+ "name": "vehicles_pylons_ammo_type_idx",
+ "columns": [
+ {
+ "expression": "ammo_type_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_pylons_ammo_type_id_assets_id_fk": {
+ "name": "vehicles_pylons_ammo_type_id_assets_id_fk",
+ "tableFrom": "vehicles_pylons",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "ammo_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vehicles_pylons_parent_id_fk": {
+ "name": "vehicles_pylons_parent_id_fk",
+ "tableFrom": "vehicles_pylons",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles": {
+ "name": "vehicles",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "classname": {
+ "name": "classname",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "enum_vehicles_approval_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'in_progress'"
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "image_id": {
+ "name": "image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fuel_fuel_type_id": {
+ "name": "fuel_fuel_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fuel_fuel_capacity": {
+ "name": "fuel_fuel_capacity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fuel_fuel_consumption_rate": {
+ "name": "fuel_fuel_consumption_rate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "construction_time": {
+ "name": "construction_time",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "height": {
+ "name": "height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_mass": {
+ "name": "max_mass",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ace_cargo_slots": {
+ "name": "ace_cargo_slots",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_health": {
+ "name": "max_health",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "armor_rating": {
+ "name": "armor_rating",
+ "type": "enum_vehicles_armor_rating",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_speed_on_road": {
+ "name": "max_speed_on_road",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_speed_off_road": {
+ "name": "max_speed_off_road",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_airspeed": {
+ "name": "max_airspeed",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_knots": {
+ "name": "max_knots",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "vehicles_image_idx": {
+ "name": "vehicles_image_idx",
+ "columns": [
+ {
+ "expression": "image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_fuel_fuel_fuel_type_idx": {
+ "name": "vehicles_fuel_fuel_fuel_type_idx",
+ "columns": [
+ {
+ "expression": "fuel_fuel_type_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_updated_at_idx": {
+ "name": "vehicles_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_created_at_idx": {
+ "name": "vehicles_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_image_id_media_id_fk": {
+ "name": "vehicles_image_id_media_id_fk",
+ "tableFrom": "vehicles",
+ "tableTo": "media",
+ "columnsFrom": [
+ "image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vehicles_fuel_fuel_type_id_resources_id_fk": {
+ "name": "vehicles_fuel_fuel_type_id_resources_id_fk",
+ "tableFrom": "vehicles",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "fuel_fuel_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vehicles_rels": {
+ "name": "vehicles_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "technologies_id": {
+ "name": "technologies_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vehicles_id": {
+ "name": "vehicles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resources_id": {
+ "name": "resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "vehicles_rels_order_idx": {
+ "name": "vehicles_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_parent_idx": {
+ "name": "vehicles_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_path_idx": {
+ "name": "vehicles_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_technologies_id_idx": {
+ "name": "vehicles_rels_technologies_id_idx",
+ "columns": [
+ {
+ "expression": "technologies_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_assets_id_idx": {
+ "name": "vehicles_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_vehicles_id_idx": {
+ "name": "vehicles_rels_vehicles_id_idx",
+ "columns": [
+ {
+ "expression": "vehicles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "vehicles_rels_resources_id_idx": {
+ "name": "vehicles_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vehicles_rels_parent_fk": {
+ "name": "vehicles_rels_parent_fk",
+ "tableFrom": "vehicles_rels",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vehicles_rels_technologies_fk": {
+ "name": "vehicles_rels_technologies_fk",
+ "tableFrom": "vehicles_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "technologies_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vehicles_rels_assets_fk": {
+ "name": "vehicles_rels_assets_fk",
+ "tableFrom": "vehicles_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vehicles_rels_vehicles_fk": {
+ "name": "vehicles_rels_vehicles_fk",
+ "tableFrom": "vehicles_rels",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "vehicles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vehicles_rels_resources_fk": {
+ "name": "vehicles_rels_resources_fk",
+ "tableFrom": "vehicles_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_materials": {
+ "name": "structures_materials",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_materials_order_idx": {
+ "name": "structures_materials_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_materials_parent_id_idx": {
+ "name": "structures_materials_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_materials_resource_idx": {
+ "name": "structures_materials_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_materials_resource_id_resources_id_fk": {
+ "name": "structures_materials_resource_id_resources_id_fk",
+ "tableFrom": "structures_materials",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_materials_parent_id_fk": {
+ "name": "structures_materials_parent_id_fk",
+ "tableFrom": "structures_materials",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_resources_in_range": {
+ "name": "structures_resources_in_range",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "range": {
+ "name": "range",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_resources_in_range_order_idx": {
+ "name": "structures_resources_in_range_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_resources_in_range_parent_id_idx": {
+ "name": "structures_resources_in_range_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_resources_in_range_resource_idx": {
+ "name": "structures_resources_in_range_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_resources_in_range_resource_id_resources_id_fk": {
+ "name": "structures_resources_in_range_resource_id_resources_id_fk",
+ "tableFrom": "structures_resources_in_range",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_resources_in_range_parent_id_fk": {
+ "name": "structures_resources_in_range_parent_id_fk",
+ "tableFrom": "structures_resources_in_range",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_structures_in_range": {
+ "name": "structures_structures_in_range",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "structure_id": {
+ "name": "structure_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "range": {
+ "name": "range",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_structures_in_range_order_idx": {
+ "name": "structures_structures_in_range_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_structures_in_range_parent_id_idx": {
+ "name": "structures_structures_in_range_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_structures_in_range_structure_idx": {
+ "name": "structures_structures_in_range_structure_idx",
+ "columns": [
+ {
+ "expression": "structure_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_structures_in_range_structure_id_structures_id_fk": {
+ "name": "structures_structures_in_range_structure_id_structures_id_fk",
+ "tableFrom": "structures_structures_in_range",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "structure_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_structures_in_range_parent_id_fk": {
+ "name": "structures_structures_in_range_parent_id_fk",
+ "tableFrom": "structures_structures_in_range",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_upkeep": {
+ "name": "structures_upkeep",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_upkeep_order_idx": {
+ "name": "structures_upkeep_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_upkeep_parent_id_idx": {
+ "name": "structures_upkeep_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_upkeep_resource_idx": {
+ "name": "structures_upkeep_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_upkeep_resource_id_resources_id_fk": {
+ "name": "structures_upkeep_resource_id_resources_id_fk",
+ "tableFrom": "structures_upkeep",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_upkeep_parent_id_fk": {
+ "name": "structures_upkeep_parent_id_fk",
+ "tableFrom": "structures_upkeep",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_labor_requirements": {
+ "name": "structures_labor_requirements",
+ "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
+ },
+ "classification_id": {
+ "name": "classification_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "required_headcount": {
+ "name": "required_headcount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "max_headcount": {
+ "name": "max_headcount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "enforced_salary": {
+ "name": "enforced_salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_labor_requirements_order_idx": {
+ "name": "structures_labor_requirements_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_labor_requirements_parent_id_idx": {
+ "name": "structures_labor_requirements_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_labor_requirements_classification_idx": {
+ "name": "structures_labor_requirements_classification_idx",
+ "columns": [
+ {
+ "expression": "classification_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_labor_requirements_classification_id_labor_classifications_id_fk": {
+ "name": "structures_labor_requirements_classification_id_labor_classifications_id_fk",
+ "tableFrom": "structures_labor_requirements",
+ "tableTo": "labor_classifications",
+ "columnsFrom": [
+ "classification_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_labor_requirements_parent_id_fk": {
+ "name": "structures_labor_requirements_parent_id_fk",
+ "tableFrom": "structures_labor_requirements",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_staff_positions": {
+ "name": "structures_staff_positions",
+ "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
+ },
+ "position_type": {
+ "name": "position_type",
+ "type": "enum_structures_staff_positions_position_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "max": {
+ "name": "max",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "enforced_salary": {
+ "name": "enforced_salary",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_staff_positions_order_idx": {
+ "name": "structures_staff_positions_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_staff_positions_parent_id_idx": {
+ "name": "structures_staff_positions_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_staff_positions_parent_id_fk": {
+ "name": "structures_staff_positions_parent_id_fk",
+ "tableFrom": "structures_staff_positions",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_auto_generated_resources": {
+ "name": "structures_auto_generated_resources",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "min_amount": {
+ "name": "min_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "max_amount": {
+ "name": "max_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "min_frequency": {
+ "name": "min_frequency",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1'"
+ },
+ "max_frequency": {
+ "name": "max_frequency",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "produce_chance": {
+ "name": "produce_chance",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ }
+ },
+ "indexes": {
+ "structures_auto_generated_resources_order_idx": {
+ "name": "structures_auto_generated_resources_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_auto_generated_resources_parent_id_idx": {
+ "name": "structures_auto_generated_resources_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_auto_generated_resources_resource_idx": {
+ "name": "structures_auto_generated_resources_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_auto_generated_resources_resource_id_resources_id_fk": {
+ "name": "structures_auto_generated_resources_resource_id_resources_id_fk",
+ "tableFrom": "structures_auto_generated_resources",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_auto_generated_resources_parent_id_fk": {
+ "name": "structures_auto_generated_resources_parent_id_fk",
+ "tableFrom": "structures_auto_generated_resources",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_allowed_storage": {
+ "name": "structures_allowed_storage",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_allowed_storage_order_idx": {
+ "name": "structures_allowed_storage_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_allowed_storage_parent_id_idx": {
+ "name": "structures_allowed_storage_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_allowed_storage_parent_id_fk": {
+ "name": "structures_allowed_storage_parent_id_fk",
+ "tableFrom": "structures_allowed_storage",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_prohibited_storage": {
+ "name": "structures_prohibited_storage",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "structures_prohibited_storage_order_idx": {
+ "name": "structures_prohibited_storage_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_prohibited_storage_parent_id_idx": {
+ "name": "structures_prohibited_storage_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_prohibited_storage_parent_id_fk": {
+ "name": "structures_prohibited_storage_parent_id_fk",
+ "tableFrom": "structures_prohibited_storage",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures": {
+ "name": "structures",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_name": {
+ "name": "code_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "enum_structures_approval_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'in_progress'"
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "image_id": {
+ "name": "image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "enum_structures_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "construction_time": {
+ "name": "construction_time",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "requires_upgrade": {
+ "name": "requires_upgrade",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upgrades_into_id": {
+ "name": "upgrades_into_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upgrade_cost_multiplier": {
+ "name": "upgrade_cost_multiplier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "terrain_type": {
+ "name": "terrain_type",
+ "type": "enum_structures_terrain_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sell_price": {
+ "name": "sell_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "maintenance_cost": {
+ "name": "maintenance_cost",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "function_type": {
+ "name": "function_type",
+ "type": "enum_structures_function_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_capacity_mass": {
+ "name": "max_capacity_mass",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "restrict_to_allowed": {
+ "name": "restrict_to_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "x_size": {
+ "name": "x_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "y_size": {
+ "name": "y_size",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "max_health": {
+ "name": "max_health",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "repair_speed": {
+ "name": "repair_speed",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "structures_image_idx": {
+ "name": "structures_image_idx",
+ "columns": [
+ {
+ "expression": "image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_upgrades_into_idx": {
+ "name": "structures_upgrades_into_idx",
+ "columns": [
+ {
+ "expression": "upgrades_into_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_updated_at_idx": {
+ "name": "structures_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_created_at_idx": {
+ "name": "structures_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_image_id_media_id_fk": {
+ "name": "structures_image_id_media_id_fk",
+ "tableFrom": "structures",
+ "tableTo": "media",
+ "columnsFrom": [
+ "image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_upgrades_into_id_structures_id_fk": {
+ "name": "structures_upgrades_into_id_structures_id_fk",
+ "tableFrom": "structures",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "upgrades_into_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_rels": {
+ "name": "structures_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "technologies_id": {
+ "name": "technologies_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vehicles_id": {
+ "name": "vehicles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resources_id": {
+ "name": "resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_rels_order_idx": {
+ "name": "structures_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_parent_idx": {
+ "name": "structures_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_path_idx": {
+ "name": "structures_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_technologies_id_idx": {
+ "name": "structures_rels_technologies_id_idx",
+ "columns": [
+ {
+ "expression": "technologies_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_assets_id_idx": {
+ "name": "structures_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_vehicles_id_idx": {
+ "name": "structures_rels_vehicles_id_idx",
+ "columns": [
+ {
+ "expression": "vehicles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_rels_resources_id_idx": {
+ "name": "structures_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_rels_parent_fk": {
+ "name": "structures_rels_parent_fk",
+ "tableFrom": "structures_rels",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "structures_rels_technologies_fk": {
+ "name": "structures_rels_technologies_fk",
+ "tableFrom": "structures_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "technologies_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "structures_rels_assets_fk": {
+ "name": "structures_rels_assets_fk",
+ "tableFrom": "structures_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "structures_rels_vehicles_fk": {
+ "name": "structures_rels_vehicles_fk",
+ "tableFrom": "structures_rels",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "vehicles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "structures_rels_resources_fk": {
+ "name": "structures_rels_resources_fk",
+ "tableFrom": "structures_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shipments_cargo": {
+ "name": "shipments_cargo",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "shipments_cargo_order_idx": {
+ "name": "shipments_cargo_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_cargo_parent_id_idx": {
+ "name": "shipments_cargo_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shipments_cargo_parent_id_fk": {
+ "name": "shipments_cargo_parent_id_fk",
+ "tableFrom": "shipments_cargo",
+ "tableTo": "shipments",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shipments": {
+ "name": "shipments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "origin_id": {
+ "name": "origin_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "destination_id": {
+ "name": "destination_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "transport_vehicle_id": {
+ "name": "transport_vehicle_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "distance": {
+ "name": "distance",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fuel_cost": {
+ "name": "fuel_cost",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fuel_consumed": {
+ "name": "fuel_consumed",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_shipments_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "dispatched_at": {
+ "name": "dispatched_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estimated_arrival": {
+ "name": "estimated_arrival",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "auto_return": {
+ "name": "auto_return",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "failure_reason": {
+ "name": "failure_reason",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "shipments_origin_idx": {
+ "name": "shipments_origin_idx",
+ "columns": [
+ {
+ "expression": "origin_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_destination_idx": {
+ "name": "shipments_destination_idx",
+ "columns": [
+ {
+ "expression": "destination_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_transport_vehicle_idx": {
+ "name": "shipments_transport_vehicle_idx",
+ "columns": [
+ {
+ "expression": "transport_vehicle_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_created_by_idx": {
+ "name": "shipments_created_by_idx",
+ "columns": [
+ {
+ "expression": "created_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_updated_at_idx": {
+ "name": "shipments_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_created_at_idx": {
+ "name": "shipments_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shipments_origin_id_game_structures_id_fk": {
+ "name": "shipments_origin_id_game_structures_id_fk",
+ "tableFrom": "shipments",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "origin_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "shipments_destination_id_game_structures_id_fk": {
+ "name": "shipments_destination_id_game_structures_id_fk",
+ "tableFrom": "shipments",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "destination_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "shipments_transport_vehicle_id_game_vehicles_id_fk": {
+ "name": "shipments_transport_vehicle_id_game_vehicles_id_fk",
+ "tableFrom": "shipments",
+ "tableTo": "game_vehicles",
+ "columnsFrom": [
+ "transport_vehicle_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "shipments_created_by_id_users_id_fk": {
+ "name": "shipments_created_by_id_users_id_fk",
+ "tableFrom": "shipments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shipments_rels": {
+ "name": "shipments_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "resources_id": {
+ "name": "resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vehicles_id": {
+ "name": "vehicles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "shipments_rels_order_idx": {
+ "name": "shipments_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_rels_parent_idx": {
+ "name": "shipments_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_rels_path_idx": {
+ "name": "shipments_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_rels_resources_id_idx": {
+ "name": "shipments_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_rels_assets_id_idx": {
+ "name": "shipments_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shipments_rels_vehicles_id_idx": {
+ "name": "shipments_rels_vehicles_id_idx",
+ "columns": [
+ {
+ "expression": "vehicles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shipments_rels_parent_fk": {
+ "name": "shipments_rels_parent_fk",
+ "tableFrom": "shipments_rels",
+ "tableTo": "shipments",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "shipments_rels_resources_fk": {
+ "name": "shipments_rels_resources_fk",
+ "tableFrom": "shipments_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "shipments_rels_assets_fk": {
+ "name": "shipments_rels_assets_fk",
+ "tableFrom": "shipments_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "shipments_rels_vehicles_fk": {
+ "name": "shipments_rels_vehicles_fk",
+ "tableFrom": "shipments_rels",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "vehicles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.bank_accounts": {
+ "name": "bank_accounts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "account_type": {
+ "name": "account_type",
+ "type": "enum_bank_accounts_account_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'personal'"
+ },
+ "owner_faction_id": {
+ "name": "owner_faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "owner_user_id": {
+ "name": "owner_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_id": {
+ "name": "currency_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "balance": {
+ "name": "balance",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_bank_accounts_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'open'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "bank_accounts_owner_faction_idx": {
+ "name": "bank_accounts_owner_faction_idx",
+ "columns": [
+ {
+ "expression": "owner_faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_accounts_owner_user_idx": {
+ "name": "bank_accounts_owner_user_idx",
+ "columns": [
+ {
+ "expression": "owner_user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_accounts_currency_idx": {
+ "name": "bank_accounts_currency_idx",
+ "columns": [
+ {
+ "expression": "currency_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_accounts_updated_at_idx": {
+ "name": "bank_accounts_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "bank_accounts_owner_faction_id_factions_id_fk": {
+ "name": "bank_accounts_owner_faction_id_factions_id_fk",
+ "tableFrom": "bank_accounts",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "owner_faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "bank_accounts_owner_user_id_users_id_fk": {
+ "name": "bank_accounts_owner_user_id_users_id_fk",
+ "tableFrom": "bank_accounts",
+ "tableTo": "users",
+ "columnsFrom": [
+ "owner_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "bank_accounts_currency_id_resources_id_fk": {
+ "name": "bank_accounts_currency_id_resources_id_fk",
+ "tableFrom": "bank_accounts",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "currency_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.bank_transactions": {
+ "name": "bank_transactions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "transaction_number": {
+ "name": "transaction_number",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_bank_transactions_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "from_account_id": {
+ "name": "from_account_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "to_account_id": {
+ "name": "to_account_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fee": {
+ "name": "fee",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "memo": {
+ "name": "memo",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_id": {
+ "name": "actor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_bank_transactions_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'completed'"
+ },
+ "reference_id": {
+ "name": "reference_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "timestamp": {
+ "name": "timestamp",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "bank_transactions_transaction_number_idx": {
+ "name": "bank_transactions_transaction_number_idx",
+ "columns": [
+ {
+ "expression": "transaction_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_from_account_idx": {
+ "name": "bank_transactions_from_account_idx",
+ "columns": [
+ {
+ "expression": "from_account_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_to_account_idx": {
+ "name": "bank_transactions_to_account_idx",
+ "columns": [
+ {
+ "expression": "to_account_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_actor_idx": {
+ "name": "bank_transactions_actor_idx",
+ "columns": [
+ {
+ "expression": "actor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_reference_idx": {
+ "name": "bank_transactions_reference_idx",
+ "columns": [
+ {
+ "expression": "reference_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_updated_at_idx": {
+ "name": "bank_transactions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "bank_transactions_created_at_idx": {
+ "name": "bank_transactions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "bank_transactions_from_account_id_bank_accounts_id_fk": {
+ "name": "bank_transactions_from_account_id_bank_accounts_id_fk",
+ "tableFrom": "bank_transactions",
+ "tableTo": "bank_accounts",
+ "columnsFrom": [
+ "from_account_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "bank_transactions_to_account_id_bank_accounts_id_fk": {
+ "name": "bank_transactions_to_account_id_bank_accounts_id_fk",
+ "tableFrom": "bank_transactions",
+ "tableTo": "bank_accounts",
+ "columnsFrom": [
+ "to_account_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "bank_transactions_actor_id_users_id_fk": {
+ "name": "bank_transactions_actor_id_users_id_fk",
+ "tableFrom": "bank_transactions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "actor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "bank_transactions_reference_id_bank_transactions_id_fk": {
+ "name": "bank_transactions_reference_id_bank_transactions_id_fk",
+ "tableFrom": "bank_transactions",
+ "tableTo": "bank_transactions",
+ "columnsFrom": [
+ "reference_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ledger_entries": {
+ "name": "ledger_entries",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "account_id": {
+ "name": "account_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "transaction_id": {
+ "name": "transaction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_ledger_entries_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "balance_after": {
+ "name": "balance_after",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "memo": {
+ "name": "memo",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "timestamp": {
+ "name": "timestamp",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "ledger_entries_account_idx": {
+ "name": "ledger_entries_account_idx",
+ "columns": [
+ {
+ "expression": "account_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ledger_entries_transaction_idx": {
+ "name": "ledger_entries_transaction_idx",
+ "columns": [
+ {
+ "expression": "transaction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ledger_entries_updated_at_idx": {
+ "name": "ledger_entries_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ledger_entries_created_at_idx": {
+ "name": "ledger_entries_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ledger_entries_account_id_bank_accounts_id_fk": {
+ "name": "ledger_entries_account_id_bank_accounts_id_fk",
+ "tableFrom": "ledger_entries",
+ "tableTo": "bank_accounts",
+ "columnsFrom": [
+ "account_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "ledger_entries_transaction_id_bank_transactions_id_fk": {
+ "name": "ledger_entries_transaction_id_bank_transactions_id_fk",
+ "tableFrom": "ledger_entries",
+ "tableTo": "bank_transactions",
+ "columnsFrom": [
+ "transaction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.locker_storages_items_equipment_attachments": {
+ "name": "locker_storages_items_equipment_attachments",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "asset_id": {
+ "name": "asset_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "locker_storages_items_equipment_attachments_order_idx": {
+ "name": "locker_storages_items_equipment_attachments_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_items_equipment_attachments_parent_id_idx": {
+ "name": "locker_storages_items_equipment_attachments_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_items_equipment_attachments_asset_idx": {
+ "name": "locker_storages_items_equipment_attachments_asset_idx",
+ "columns": [
+ {
+ "expression": "asset_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "locker_storages_items_equipment_attachments_asset_id_assets_id_fk": {
+ "name": "locker_storages_items_equipment_attachments_asset_id_assets_id_fk",
+ "tableFrom": "locker_storages_items_equipment_attachments",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "asset_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "locker_storages_items_equipment_attachments_parent_id_fk": {
+ "name": "locker_storages_items_equipment_attachments_parent_id_fk",
+ "tableFrom": "locker_storages_items_equipment_attachments",
+ "tableTo": "locker_storages_items",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.locker_storages_items": {
+ "name": "locker_storages_items",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "asset_id": {
+ "name": "asset_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "grid_x": {
+ "name": "grid_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "grid_y": {
+ "name": "grid_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "rotated": {
+ "name": "rotated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "equipment_skin_id": {
+ "name": "equipment_skin_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "equipment_custom_name": {
+ "name": "equipment_custom_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "locker_storages_items_order_idx": {
+ "name": "locker_storages_items_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_items_parent_id_idx": {
+ "name": "locker_storages_items_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_items_asset_idx": {
+ "name": "locker_storages_items_asset_idx",
+ "columns": [
+ {
+ "expression": "asset_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_items_equipment_equipment_skin_idx": {
+ "name": "locker_storages_items_equipment_equipment_skin_idx",
+ "columns": [
+ {
+ "expression": "equipment_skin_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "locker_storages_items_asset_id_assets_id_fk": {
+ "name": "locker_storages_items_asset_id_assets_id_fk",
+ "tableFrom": "locker_storages_items",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "asset_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "locker_storages_items_equipment_skin_id_assets_id_fk": {
+ "name": "locker_storages_items_equipment_skin_id_assets_id_fk",
+ "tableFrom": "locker_storages_items",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "equipment_skin_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "locker_storages_items_parent_id_fk": {
+ "name": "locker_storages_items_parent_id_fk",
+ "tableFrom": "locker_storages_items",
+ "tableTo": "locker_storages",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.locker_storages": {
+ "name": "locker_storages",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Personal Locker'"
+ },
+ "owner_user_id": {
+ "name": "owner_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_count": {
+ "name": "item_count",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "locker_storages_owner_user_idx": {
+ "name": "locker_storages_owner_user_idx",
+ "columns": [
+ {
+ "expression": "owner_user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_updated_at_idx": {
+ "name": "locker_storages_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locker_storages_created_at_idx": {
+ "name": "locker_storages_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "locker_storages_owner_user_id_users_id_fk": {
+ "name": "locker_storages_owner_user_id_users_id_fk",
+ "tableFrom": "locker_storages",
+ "tableTo": "users",
+ "columnsFrom": [
+ "owner_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.loadouts": {
+ "name": "loadouts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "owner_user_id": {
+ "name": "owner_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "equipped": {
+ "name": "equipped",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "slots_primary_id": {
+ "name": "slots_primary_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_secondary_id": {
+ "name": "slots_secondary_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_launcher_id": {
+ "name": "slots_launcher_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_uniform_id": {
+ "name": "slots_uniform_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_vest_id": {
+ "name": "slots_vest_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_backpack_id": {
+ "name": "slots_backpack_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_helmet_id": {
+ "name": "slots_helmet_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_facewear_id": {
+ "name": "slots_facewear_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_nvg_id": {
+ "name": "slots_nvg_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_radio_id": {
+ "name": "slots_radio_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_optic_id": {
+ "name": "slots_optic_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_muzzle_id": {
+ "name": "slots_muzzle_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "slots_bipod_id": {
+ "name": "slots_bipod_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "loadouts_owner_user_idx": {
+ "name": "loadouts_owner_user_idx",
+ "columns": [
+ {
+ "expression": "owner_user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_primary_idx": {
+ "name": "loadouts_slots_slots_primary_idx",
+ "columns": [
+ {
+ "expression": "slots_primary_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_secondary_idx": {
+ "name": "loadouts_slots_slots_secondary_idx",
+ "columns": [
+ {
+ "expression": "slots_secondary_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_launcher_idx": {
+ "name": "loadouts_slots_slots_launcher_idx",
+ "columns": [
+ {
+ "expression": "slots_launcher_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_uniform_idx": {
+ "name": "loadouts_slots_slots_uniform_idx",
+ "columns": [
+ {
+ "expression": "slots_uniform_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_vest_idx": {
+ "name": "loadouts_slots_slots_vest_idx",
+ "columns": [
+ {
+ "expression": "slots_vest_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_backpack_idx": {
+ "name": "loadouts_slots_slots_backpack_idx",
+ "columns": [
+ {
+ "expression": "slots_backpack_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_helmet_idx": {
+ "name": "loadouts_slots_slots_helmet_idx",
+ "columns": [
+ {
+ "expression": "slots_helmet_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_facewear_idx": {
+ "name": "loadouts_slots_slots_facewear_idx",
+ "columns": [
+ {
+ "expression": "slots_facewear_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_nvg_idx": {
+ "name": "loadouts_slots_slots_nvg_idx",
+ "columns": [
+ {
+ "expression": "slots_nvg_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_radio_idx": {
+ "name": "loadouts_slots_slots_radio_idx",
+ "columns": [
+ {
+ "expression": "slots_radio_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_optic_idx": {
+ "name": "loadouts_slots_slots_optic_idx",
+ "columns": [
+ {
+ "expression": "slots_optic_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_muzzle_idx": {
+ "name": "loadouts_slots_slots_muzzle_idx",
+ "columns": [
+ {
+ "expression": "slots_muzzle_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_slots_slots_bipod_idx": {
+ "name": "loadouts_slots_slots_bipod_idx",
+ "columns": [
+ {
+ "expression": "slots_bipod_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_updated_at_idx": {
+ "name": "loadouts_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "loadouts_created_at_idx": {
+ "name": "loadouts_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "loadouts_owner_user_id_users_id_fk": {
+ "name": "loadouts_owner_user_id_users_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "users",
+ "columnsFrom": [
+ "owner_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_primary_id_assets_id_fk": {
+ "name": "loadouts_slots_primary_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_primary_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_secondary_id_assets_id_fk": {
+ "name": "loadouts_slots_secondary_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_secondary_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_launcher_id_assets_id_fk": {
+ "name": "loadouts_slots_launcher_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_launcher_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_uniform_id_assets_id_fk": {
+ "name": "loadouts_slots_uniform_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_uniform_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_vest_id_assets_id_fk": {
+ "name": "loadouts_slots_vest_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_vest_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_backpack_id_assets_id_fk": {
+ "name": "loadouts_slots_backpack_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_backpack_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_helmet_id_assets_id_fk": {
+ "name": "loadouts_slots_helmet_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_helmet_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_facewear_id_assets_id_fk": {
+ "name": "loadouts_slots_facewear_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_facewear_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_nvg_id_assets_id_fk": {
+ "name": "loadouts_slots_nvg_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_nvg_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_radio_id_assets_id_fk": {
+ "name": "loadouts_slots_radio_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_radio_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_optic_id_assets_id_fk": {
+ "name": "loadouts_slots_optic_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_optic_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_muzzle_id_assets_id_fk": {
+ "name": "loadouts_slots_muzzle_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_muzzle_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "loadouts_slots_bipod_id_assets_id_fk": {
+ "name": "loadouts_slots_bipod_id_assets_id_fk",
+ "tableFrom": "loadouts",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "slots_bipod_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.market_listings": {
+ "name": "market_listings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "asset_id": {
+ "name": "asset_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "seller_id": {
+ "name": "seller_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "npc_id": {
+ "name": "npc_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "price": {
+ "name": "price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "desired_price": {
+ "name": "desired_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "min_price": {
+ "name": "min_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_id": {
+ "name": "currency_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_market_listings_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'active'"
+ },
+ "is_auto_generated": {
+ "name": "is_auto_generated",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "listed_at": {
+ "name": "listed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sold_at": {
+ "name": "sold_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "buyer_id": {
+ "name": "buyer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "market_listings_asset_idx": {
+ "name": "market_listings_asset_idx",
+ "columns": [
+ {
+ "expression": "asset_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_seller_idx": {
+ "name": "market_listings_seller_idx",
+ "columns": [
+ {
+ "expression": "seller_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_npc_idx": {
+ "name": "market_listings_npc_idx",
+ "columns": [
+ {
+ "expression": "npc_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_currency_idx": {
+ "name": "market_listings_currency_idx",
+ "columns": [
+ {
+ "expression": "currency_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_status_idx": {
+ "name": "market_listings_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_buyer_idx": {
+ "name": "market_listings_buyer_idx",
+ "columns": [
+ {
+ "expression": "buyer_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_updated_at_idx": {
+ "name": "market_listings_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_listings_created_at_idx": {
+ "name": "market_listings_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "market_listings_asset_id_assets_id_fk": {
+ "name": "market_listings_asset_id_assets_id_fk",
+ "tableFrom": "market_listings",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "asset_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "market_listings_seller_id_users_id_fk": {
+ "name": "market_listings_seller_id_users_id_fk",
+ "tableFrom": "market_listings",
+ "tableTo": "users",
+ "columnsFrom": [
+ "seller_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "market_listings_npc_id_game_npcs_id_fk": {
+ "name": "market_listings_npc_id_game_npcs_id_fk",
+ "tableFrom": "market_listings",
+ "tableTo": "game_npcs",
+ "columnsFrom": [
+ "npc_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "market_listings_currency_id_resources_id_fk": {
+ "name": "market_listings_currency_id_resources_id_fk",
+ "tableFrom": "market_listings",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "currency_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "market_listings_buyer_id_users_id_fk": {
+ "name": "market_listings_buyer_id_users_id_fk",
+ "tableFrom": "market_listings",
+ "tableTo": "users",
+ "columnsFrom": [
+ "buyer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.market_negotiations_history": {
+ "name": "market_negotiations_history",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "from": {
+ "name": "from",
+ "type": "enum_market_negotiations_history_from",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "note": {
+ "name": "note",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "at": {
+ "name": "at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "market_negotiations_history_order_idx": {
+ "name": "market_negotiations_history_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_negotiations_history_parent_id_idx": {
+ "name": "market_negotiations_history_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "market_negotiations_history_parent_id_fk": {
+ "name": "market_negotiations_history_parent_id_fk",
+ "tableFrom": "market_negotiations_history",
+ "tableTo": "market_negotiations",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.market_negotiations": {
+ "name": "market_negotiations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "listing_id": {
+ "name": "listing_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "buyer_id": {
+ "name": "buyer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_market_negotiations_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'open'"
+ },
+ "patience": {
+ "name": "patience",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "proposed_by": {
+ "name": "proposed_by",
+ "type": "enum_market_negotiations_proposed_by",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'buyer'"
+ },
+ "accepted_price": {
+ "name": "accepted_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "market_negotiations_listing_idx": {
+ "name": "market_negotiations_listing_idx",
+ "columns": [
+ {
+ "expression": "listing_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_negotiations_buyer_idx": {
+ "name": "market_negotiations_buyer_idx",
+ "columns": [
+ {
+ "expression": "buyer_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_negotiations_status_idx": {
+ "name": "market_negotiations_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_negotiations_updated_at_idx": {
+ "name": "market_negotiations_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_negotiations_created_at_idx": {
+ "name": "market_negotiations_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "market_negotiations_listing_id_market_listings_id_fk": {
+ "name": "market_negotiations_listing_id_market_listings_id_fk",
+ "tableFrom": "market_negotiations",
+ "tableTo": "market_listings",
+ "columnsFrom": [
+ "listing_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "market_negotiations_buyer_id_users_id_fk": {
+ "name": "market_negotiations_buyer_id_users_id_fk",
+ "tableFrom": "market_negotiations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "buyer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.market_state": {
+ "name": "market_state",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_type": {
+ "name": "item_type",
+ "type": "enum_market_state_item_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_id": {
+ "name": "item_id",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "gm_baseline_supply": {
+ "name": "gm_baseline_supply",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 100
+ },
+ "gm_baseline_demand": {
+ "name": "gm_baseline_demand",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 50
+ },
+ "current_supply": {
+ "name": "current_supply",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 100
+ },
+ "artificial_demand": {
+ "name": "artificial_demand",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 50
+ },
+ "real_demand": {
+ "name": "real_demand",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "price_modifier": {
+ "name": "price_modifier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "last_computed_at": {
+ "name": "last_computed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "market_state_item_type_idx": {
+ "name": "market_state_item_type_idx",
+ "columns": [
+ {
+ "expression": "item_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_state_item_id_idx": {
+ "name": "market_state_item_id_idx",
+ "columns": [
+ {
+ "expression": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_state_updated_at_idx": {
+ "name": "market_state_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "market_state_created_at_idx": {
+ "name": "market_state_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "itemType_itemId_idx": {
+ "name": "itemType_itemId_idx",
+ "columns": [
+ {
+ "expression": "item_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.voice_scripts": {
+ "name": "voice_scripts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "script": {
+ "name": "script",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "xp_amount": {
+ "name": "xp_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 250
+ },
+ "spoiler": {
+ "name": "spoiler",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_voice_scripts_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'open'"
+ },
+ "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": {
+ "voice_scripts_updated_at_idx": {
+ "name": "voice_scripts_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "voice_scripts_created_at_idx": {
+ "name": "voice_scripts_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.voice_submissions": {
+ "name": "voice_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "script_id": {
+ "name": "script_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_voice_submissions_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "review_note": {
+ "name": "review_note",
+ "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": {
+ "voice_submissions_script_idx": {
+ "name": "voice_submissions_script_idx",
+ "columns": [
+ {
+ "expression": "script_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "voice_submissions_user_idx": {
+ "name": "voice_submissions_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "voice_submissions_updated_at_idx": {
+ "name": "voice_submissions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "voice_submissions_created_at_idx": {
+ "name": "voice_submissions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "voice_submissions_filename_idx": {
+ "name": "voice_submissions_filename_idx",
+ "columns": [
+ {
+ "expression": "filename",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "voice_submissions_script_id_voice_scripts_id_fk": {
+ "name": "voice_submissions_script_id_voice_scripts_id_fk",
+ "tableFrom": "voice_submissions",
+ "tableTo": "voice_scripts",
+ "columnsFrom": [
+ "script_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "voice_submissions_user_id_users_id_fk": {
+ "name": "voice_submissions_user_id_users_id_fk",
+ "tableFrom": "voice_submissions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tickets_activity": {
+ "name": "tickets_activity",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_tickets_activity_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'system'"
+ },
+ "content": {
+ "name": "content",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author_id": {
+ "name": "author_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "tickets_activity_order_idx": {
+ "name": "tickets_activity_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_activity_parent_id_idx": {
+ "name": "tickets_activity_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_activity_author_idx": {
+ "name": "tickets_activity_author_idx",
+ "columns": [
+ {
+ "expression": "author_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tickets_activity_author_id_users_id_fk": {
+ "name": "tickets_activity_author_id_users_id_fk",
+ "tableFrom": "tickets_activity",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_activity_parent_id_fk": {
+ "name": "tickets_activity_parent_id_fk",
+ "tableFrom": "tickets_activity",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tickets_edit_history": {
+ "name": "tickets_edit_history",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "before": {
+ "name": "before",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "after": {
+ "name": "after",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "edited_by_id": {
+ "name": "edited_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "edited_at": {
+ "name": "edited_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "tickets_edit_history_order_idx": {
+ "name": "tickets_edit_history_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_edit_history_parent_id_idx": {
+ "name": "tickets_edit_history_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_edit_history_edited_by_idx": {
+ "name": "tickets_edit_history_edited_by_idx",
+ "columns": [
+ {
+ "expression": "edited_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tickets_edit_history_edited_by_id_users_id_fk": {
+ "name": "tickets_edit_history_edited_by_id_users_id_fk",
+ "tableFrom": "tickets_edit_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "edited_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_edit_history_parent_id_fk": {
+ "name": "tickets_edit_history_parent_id_fk",
+ "tableFrom": "tickets_edit_history",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tickets": {
+ "name": "tickets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "enum_tickets_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'support_request'"
+ },
+ "priority": {
+ "name": "priority",
+ "type": "enum_tickets_priority",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'medium'"
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_tickets_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'open'"
+ },
+ "reporter_id": {
+ "name": "reporter_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assignee_id": {
+ "name": "assignee_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "closed_at": {
+ "name": "closed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sprint_id": {
+ "name": "sprint_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "release_id": {
+ "name": "release_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_ticket_id": {
+ "name": "parent_ticket_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_tickets_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'task'"
+ },
+ "story_points": {
+ "name": "story_points",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estimate": {
+ "name": "estimate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resolution": {
+ "name": "resolution",
+ "type": "enum_tickets_resolution",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "tickets_category_idx": {
+ "name": "tickets_category_idx",
+ "columns": [
+ {
+ "expression": "category",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_priority_idx": {
+ "name": "tickets_priority_idx",
+ "columns": [
+ {
+ "expression": "priority",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_status_idx": {
+ "name": "tickets_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_reporter_idx": {
+ "name": "tickets_reporter_idx",
+ "columns": [
+ {
+ "expression": "reporter_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_assignee_idx": {
+ "name": "tickets_assignee_idx",
+ "columns": [
+ {
+ "expression": "assignee_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_project_idx": {
+ "name": "tickets_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_sprint_idx": {
+ "name": "tickets_sprint_idx",
+ "columns": [
+ {
+ "expression": "sprint_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_release_idx": {
+ "name": "tickets_release_idx",
+ "columns": [
+ {
+ "expression": "release_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_parent_ticket_idx": {
+ "name": "tickets_parent_ticket_idx",
+ "columns": [
+ {
+ "expression": "parent_ticket_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_updated_at_idx": {
+ "name": "tickets_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_created_at_idx": {
+ "name": "tickets_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tickets_reporter_id_users_id_fk": {
+ "name": "tickets_reporter_id_users_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reporter_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_assignee_id_users_id_fk": {
+ "name": "tickets_assignee_id_users_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "assignee_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_project_id_projects_id_fk": {
+ "name": "tickets_project_id_projects_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_sprint_id_sprints_id_fk": {
+ "name": "tickets_sprint_id_sprints_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "sprints",
+ "columnsFrom": [
+ "sprint_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_release_id_releases_id_fk": {
+ "name": "tickets_release_id_releases_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "releases",
+ "columnsFrom": [
+ "release_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tickets_parent_ticket_id_tickets_id_fk": {
+ "name": "tickets_parent_ticket_id_tickets_id_fk",
+ "tableFrom": "tickets",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "parent_ticket_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tickets_rels": {
+ "name": "tickets_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
+ },
+ "labels_id": {
+ "name": "labels_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "tickets_rels_order_idx": {
+ "name": "tickets_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_rels_parent_idx": {
+ "name": "tickets_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_rels_path_idx": {
+ "name": "tickets_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "tickets_rels_labels_id_idx": {
+ "name": "tickets_rels_labels_id_idx",
+ "columns": [
+ {
+ "expression": "labels_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tickets_rels_parent_fk": {
+ "name": "tickets_rels_parent_fk",
+ "tableFrom": "tickets_rels",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tickets_rels_labels_fk": {
+ "name": "tickets_rels_labels_fk",
+ "tableFrom": "tickets_rels",
+ "tableTo": "labels",
+ "columnsFrom": [
+ "labels_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ticket_votes": {
+ "name": "ticket_votes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "ticket_id": {
+ "name": "ticket_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_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()"
+ }
+ },
+ "indexes": {
+ "ticket_votes_ticket_idx": {
+ "name": "ticket_votes_ticket_idx",
+ "columns": [
+ {
+ "expression": "ticket_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ticket_votes_user_idx": {
+ "name": "ticket_votes_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ticket_votes_updated_at_idx": {
+ "name": "ticket_votes_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ticket_votes_created_at_idx": {
+ "name": "ticket_votes_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ticket_user_idx": {
+ "name": "ticket_user_idx",
+ "columns": [
+ {
+ "expression": "ticket_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ticket_votes_ticket_id_tickets_id_fk": {
+ "name": "ticket_votes_ticket_id_tickets_id_fk",
+ "tableFrom": "ticket_votes",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "ticket_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "ticket_votes_user_id_users_id_fk": {
+ "name": "ticket_votes_user_id_users_id_fk",
+ "tableFrom": "ticket_votes",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.wiki_pages": {
+ "name": "wiki_pages",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "enum_wiki_pages_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "body": {
+ "name": "body",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "lockdown": {
+ "name": "lockdown",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "locked_by_id": {
+ "name": "locked_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "locked_at": {
+ "name": "locked_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "last_editor_id": {
+ "name": "last_editor_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": {
+ "wiki_pages_slug_idx": {
+ "name": "wiki_pages_slug_idx",
+ "columns": [
+ {
+ "expression": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_pages_category_idx": {
+ "name": "wiki_pages_category_idx",
+ "columns": [
+ {
+ "expression": "category",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_pages_locked_by_idx": {
+ "name": "wiki_pages_locked_by_idx",
+ "columns": [
+ {
+ "expression": "locked_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_pages_last_editor_idx": {
+ "name": "wiki_pages_last_editor_idx",
+ "columns": [
+ {
+ "expression": "last_editor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_pages_updated_at_idx": {
+ "name": "wiki_pages_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_pages_created_at_idx": {
+ "name": "wiki_pages_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "wiki_pages_locked_by_id_users_id_fk": {
+ "name": "wiki_pages_locked_by_id_users_id_fk",
+ "tableFrom": "wiki_pages",
+ "tableTo": "users",
+ "columnsFrom": [
+ "locked_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "wiki_pages_last_editor_id_users_id_fk": {
+ "name": "wiki_pages_last_editor_id_users_id_fk",
+ "tableFrom": "wiki_pages",
+ "tableTo": "users",
+ "columnsFrom": [
+ "last_editor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.wiki_pages_texts": {
+ "name": "wiki_pages_texts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "wiki_pages_texts_order_parent": {
+ "name": "wiki_pages_texts_order_parent",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "wiki_pages_texts_parent_fk": {
+ "name": "wiki_pages_texts_parent_fk",
+ "tableFrom": "wiki_pages_texts",
+ "tableTo": "wiki_pages",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.wiki_revisions": {
+ "name": "wiki_revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "page_id": {
+ "name": "page_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_number": {
+ "name": "revision_number",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title_snapshot": {
+ "name": "title_snapshot",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content_snapshot": {
+ "name": "content_snapshot",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "editor_id": {
+ "name": "editor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_wiki_revisions_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "restored_from_revision": {
+ "name": "restored_from_revision",
+ "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": {
+ "wiki_revisions_page_idx": {
+ "name": "wiki_revisions_page_idx",
+ "columns": [
+ {
+ "expression": "page_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_revisions_editor_idx": {
+ "name": "wiki_revisions_editor_idx",
+ "columns": [
+ {
+ "expression": "editor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_revisions_updated_at_idx": {
+ "name": "wiki_revisions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_revisions_created_at_idx": {
+ "name": "wiki_revisions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "wiki_revisions_page_id_wiki_pages_id_fk": {
+ "name": "wiki_revisions_page_id_wiki_pages_id_fk",
+ "tableFrom": "wiki_revisions",
+ "tableTo": "wiki_pages",
+ "columnsFrom": [
+ "page_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "wiki_revisions_editor_id_users_id_fk": {
+ "name": "wiki_revisions_editor_id_users_id_fk",
+ "tableFrom": "wiki_revisions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "editor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.wiki_templates": {
+ "name": "wiki_templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "body": {
+ "name": "body",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "css": {
+ "name": "css",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "html": {
+ "name": "html",
+ "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": {
+ "wiki_templates_name_idx": {
+ "name": "wiki_templates_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_templates_updated_at_idx": {
+ "name": "wiki_templates_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "wiki_templates_created_at_idx": {
+ "name": "wiki_templates_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.projects": {
+ "name": "projects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "key": {
+ "name": "key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lead_id": {
+ "name": "lead_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_projects_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'active'"
+ },
+ "default_assignee_id": {
+ "name": "default_assignee_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": {
+ "projects_key_idx": {
+ "name": "projects_key_idx",
+ "columns": [
+ {
+ "expression": "key",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "projects_lead_idx": {
+ "name": "projects_lead_idx",
+ "columns": [
+ {
+ "expression": "lead_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "projects_default_assignee_idx": {
+ "name": "projects_default_assignee_idx",
+ "columns": [
+ {
+ "expression": "default_assignee_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "projects_updated_at_idx": {
+ "name": "projects_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "projects_created_at_idx": {
+ "name": "projects_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "projects_lead_id_users_id_fk": {
+ "name": "projects_lead_id_users_id_fk",
+ "tableFrom": "projects",
+ "tableTo": "users",
+ "columnsFrom": [
+ "lead_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "projects_default_assignee_id_users_id_fk": {
+ "name": "projects_default_assignee_id_users_id_fk",
+ "tableFrom": "projects",
+ "tableTo": "users",
+ "columnsFrom": [
+ "default_assignee_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.sprints": {
+ "name": "sprints",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "goal": {
+ "name": "goal",
+ "type": "varchar",
+ "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
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_sprints_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'planning'"
+ },
+ "capacity": {
+ "name": "capacity",
+ "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": {
+ "sprints_project_idx": {
+ "name": "sprints_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "sprints_updated_at_idx": {
+ "name": "sprints_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "sprints_created_at_idx": {
+ "name": "sprints_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "sprints_project_id_projects_id_fk": {
+ "name": "sprints_project_id_projects_id_fk",
+ "tableFrom": "sprints",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.releases": {
+ "name": "releases",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_releases_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'draft'"
+ },
+ "release_date": {
+ "name": "release_date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "target_version": {
+ "name": "target_version",
+ "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": {
+ "releases_project_idx": {
+ "name": "releases_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "releases_updated_at_idx": {
+ "name": "releases_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "releases_created_at_idx": {
+ "name": "releases_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "releases_project_id_projects_id_fk": {
+ "name": "releases_project_id_projects_id_fk",
+ "tableFrom": "releases",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.labels": {
+ "name": "labels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "color": {
+ "name": "color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'#6366f1'"
+ },
+ "project_id": {
+ "name": "project_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": {
+ "labels_project_idx": {
+ "name": "labels_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "labels_updated_at_idx": {
+ "name": "labels_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "labels_created_at_idx": {
+ "name": "labels_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "labels_project_id_projects_id_fk": {
+ "name": "labels_project_id_projects_id_fk",
+ "tableFrom": "labels",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.maps": {
+ "name": "maps",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "maps_name_idx": {
+ "name": "maps_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "maps_file_name_idx": {
+ "name": "maps_file_name_idx",
+ "columns": [
+ {
+ "expression": "file_name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "maps_updated_at_idx": {
+ "name": "maps_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "maps_created_at_idx": {
+ "name": "maps_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.narrative_events": {
+ "name": "narrative_events",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "flow_data": {
+ "name": "flow_data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "triggers_type": {
+ "name": "triggers_type",
+ "type": "enum_narrative_events_triggers_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'manual'"
+ },
+ "triggers_condition": {
+ "name": "triggers_condition",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "narrative_events_updated_at_idx": {
+ "name": "narrative_events_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "narrative_events_created_at_idx": {
+ "name": "narrative_events_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.story_beats": {
+ "name": "story_beats",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "occurred_at": {
+ "name": "occurred_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "order": {
+ "name": "order",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_story_beats_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "body": {
+ "name": "body",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mission_id": {
+ "name": "mission_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": {
+ "story_beats_status_idx": {
+ "name": "story_beats_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beats_mission_idx": {
+ "name": "story_beats_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beats_updated_at_idx": {
+ "name": "story_beats_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beats_created_at_idx": {
+ "name": "story_beats_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "story_beats_mission_id_missions_id_fk": {
+ "name": "story_beats_mission_id_missions_id_fk",
+ "tableFrom": "story_beats",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.story_beat_states": {
+ "name": "story_beat_states",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "beat_id": {
+ "name": "beat_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "read_at": {
+ "name": "read_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reaction": {
+ "name": "reaction",
+ "type": "enum_story_beat_states_reaction",
+ "typeSchema": "public",
+ "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": {
+ "story_beat_states_user_idx": {
+ "name": "story_beat_states_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beat_states_beat_idx": {
+ "name": "story_beat_states_beat_idx",
+ "columns": [
+ {
+ "expression": "beat_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beat_states_updated_at_idx": {
+ "name": "story_beat_states_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_beat_states_created_at_idx": {
+ "name": "story_beat_states_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "story_beat_states_user_id_users_id_fk": {
+ "name": "story_beat_states_user_id_users_id_fk",
+ "tableFrom": "story_beat_states",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "story_beat_states_beat_id_story_beats_id_fk": {
+ "name": "story_beat_states_beat_id_story_beats_id_fk",
+ "tableFrom": "story_beat_states",
+ "tableTo": "story_beats",
+ "columnsFrom": [
+ "beat_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "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.game_servers": {
+ "name": "game_servers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "server_id": {
+ "name": "server_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_game_servers_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'offline'"
+ },
+ "last_seen_at": {
+ "name": "last_seen_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "metadata": {
+ "name": "metadata",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "game_servers_server_id_idx": {
+ "name": "game_servers_server_id_idx",
+ "columns": [
+ {
+ "expression": "server_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_servers_updated_at_idx": {
+ "name": "game_servers_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_servers_created_at_idx": {
+ "name": "game_servers_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.arma_sync_events": {
+ "name": "arma_sync_events",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "event_id": {
+ "name": "event_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "server_id": {
+ "name": "server_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "occurred_at": {
+ "name": "occurred_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "payload": {
+ "name": "payload",
+ "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": {
+ "arma_sync_events_event_id_idx": {
+ "name": "arma_sync_events_event_id_idx",
+ "columns": [
+ {
+ "expression": "event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_sync_events_server_idx": {
+ "name": "arma_sync_events_server_idx",
+ "columns": [
+ {
+ "expression": "server_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_sync_events_type_idx": {
+ "name": "arma_sync_events_type_idx",
+ "columns": [
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_sync_events_updated_at_idx": {
+ "name": "arma_sync_events_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_sync_events_created_at_idx": {
+ "name": "arma_sync_events_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "arma_sync_events_server_id_game_servers_id_fk": {
+ "name": "arma_sync_events_server_id_game_servers_id_fk",
+ "tableFrom": "arma_sync_events",
+ "tableTo": "game_servers",
+ "columnsFrom": [
+ "server_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.arma_commands": {
+ "name": "arma_commands",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "command_id": {
+ "name": "command_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "server_id": {
+ "name": "server_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "payload": {
+ "name": "payload",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_arma_commands_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'queued'"
+ },
+ "result": {
+ "name": "result",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "error": {
+ "name": "error",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivered_at": {
+ "name": "delivered_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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": {
+ "arma_commands_command_id_idx": {
+ "name": "arma_commands_command_id_idx",
+ "columns": [
+ {
+ "expression": "command_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_commands_server_idx": {
+ "name": "arma_commands_server_idx",
+ "columns": [
+ {
+ "expression": "server_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_commands_updated_at_idx": {
+ "name": "arma_commands_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "arma_commands_created_at_idx": {
+ "name": "arma_commands_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "arma_commands_server_id_game_servers_id_fk": {
+ "name": "arma_commands_server_id_game_servers_id_fk",
+ "tableFrom": "arma_commands",
+ "tableTo": "game_servers",
+ "columnsFrom": [
+ "server_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.custom_minefields": {
+ "name": "custom_minefields",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author_id": {
+ "name": "author_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rows": {
+ "name": "rows",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "cols": {
+ "name": "cols",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mines": {
+ "name": "mines",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mine_count": {
+ "name": "mine_count",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "published": {
+ "name": "published",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "expose_edge_mines": {
+ "name": "expose_edge_mines",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "play_count": {
+ "name": "play_count",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "creator_xp_bank": {
+ "name": "creator_xp_bank",
+ "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": {
+ "custom_minefields_author_idx": {
+ "name": "custom_minefields_author_idx",
+ "columns": [
+ {
+ "expression": "author_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_minefields_updated_at_idx": {
+ "name": "custom_minefields_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_minefields_created_at_idx": {
+ "name": "custom_minefields_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "custom_minefields_author_id_users_id_fk": {
+ "name": "custom_minefields_author_id_users_id_fk",
+ "tableFrom": "custom_minefields",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.custom_minefield_scores": {
+ "name": "custom_minefield_scores",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "minefield_id": {
+ "name": "minefield_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "seconds": {
+ "name": "seconds",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "flags": {
+ "name": "flags",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "won": {
+ "name": "won",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "custom_minefield_scores_minefield_idx": {
+ "name": "custom_minefield_scores_minefield_idx",
+ "columns": [
+ {
+ "expression": "minefield_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_minefield_scores_user_idx": {
+ "name": "custom_minefield_scores_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_minefield_scores_updated_at_idx": {
+ "name": "custom_minefield_scores_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_minefield_scores_created_at_idx": {
+ "name": "custom_minefield_scores_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "custom_minefield_scores_minefield_id_custom_minefields_id_fk": {
+ "name": "custom_minefield_scores_minefield_id_custom_minefields_id_fk",
+ "tableFrom": "custom_minefield_scores",
+ "tableTo": "custom_minefields",
+ "columnsFrom": [
+ "minefield_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "custom_minefield_scores_user_id_users_id_fk": {
+ "name": "custom_minefield_scores_user_id_users_id_fk",
+ "tableFrom": "custom_minefield_scores",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.custom_radio_tests": {
+ "name": "custom_radio_tests",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author_id": {
+ "name": "author_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "messages": {
+ "name": "messages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "message_count": {
+ "name": "message_count",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "enum_custom_radio_tests_order",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'fixed'"
+ },
+ "published": {
+ "name": "published",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "play_count": {
+ "name": "play_count",
+ "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": {
+ "custom_radio_tests_author_idx": {
+ "name": "custom_radio_tests_author_idx",
+ "columns": [
+ {
+ "expression": "author_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_radio_tests_updated_at_idx": {
+ "name": "custom_radio_tests_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_radio_tests_created_at_idx": {
+ "name": "custom_radio_tests_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "custom_radio_tests_author_id_users_id_fk": {
+ "name": "custom_radio_tests_author_id_users_id_fk",
+ "tableFrom": "custom_radio_tests",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.custom_radio_test_scores": {
+ "name": "custom_radio_test_scores",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "test_id": {
+ "name": "test_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "accuracy": {
+ "name": "accuracy",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "correct_messages": {
+ "name": "correct_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "incorrect_messages": {
+ "name": "incorrect_messages",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mode": {
+ "name": "mode",
+ "type": "enum_custom_radio_test_scores_mode",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "time_ms": {
+ "name": "time_ms",
+ "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": {
+ "custom_radio_test_scores_test_idx": {
+ "name": "custom_radio_test_scores_test_idx",
+ "columns": [
+ {
+ "expression": "test_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_radio_test_scores_user_idx": {
+ "name": "custom_radio_test_scores_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_radio_test_scores_updated_at_idx": {
+ "name": "custom_radio_test_scores_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "custom_radio_test_scores_created_at_idx": {
+ "name": "custom_radio_test_scores_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "custom_radio_test_scores_test_id_custom_radio_tests_id_fk": {
+ "name": "custom_radio_test_scores_test_id_custom_radio_tests_id_fk",
+ "tableFrom": "custom_radio_test_scores",
+ "tableTo": "custom_radio_tests",
+ "columnsFrom": [
+ "test_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "custom_radio_test_scores_user_id_users_id_fk": {
+ "name": "custom_radio_test_scores_user_id_users_id_fk",
+ "tableFrom": "custom_radio_test_scores",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.plugin_ai_instructions_images": {
+ "name": "plugin_ai_instructions_images",
+ "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
+ },
+ "image_id": {
+ "name": "image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "plugin_ai_instructions_images_order_idx": {
+ "name": "plugin_ai_instructions_images_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "plugin_ai_instructions_images_parent_id_idx": {
+ "name": "plugin_ai_instructions_images_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "plugin_ai_instructions_images_image_idx": {
+ "name": "plugin_ai_instructions_images_image_idx",
+ "columns": [
+ {
+ "expression": "image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "plugin_ai_instructions_images_image_id_media_id_fk": {
+ "name": "plugin_ai_instructions_images_image_id_media_id_fk",
+ "tableFrom": "plugin_ai_instructions_images",
+ "tableTo": "media",
+ "columnsFrom": [
+ "image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "plugin_ai_instructions_images_parent_id_fk": {
+ "name": "plugin_ai_instructions_images_parent_id_fk",
+ "tableFrom": "plugin_ai_instructions_images",
+ "tableTo": "plugin_ai_instructions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.plugin_ai_instructions": {
+ "name": "plugin_ai_instructions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "schema_path": {
+ "name": "schema_path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "field_type": {
+ "name": "field_type",
+ "type": "enum_plugin_ai_instructions_field_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'text'"
+ },
+ "relation_to": {
+ "name": "relation_to",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "model_id": {
+ "name": "model_id",
+ "type": "enum_plugin_ai_instructions_model_id",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "disabled": {
+ "name": "disabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "prompt": {
+ "name": "prompt",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "system": {
+ "name": "system",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'INSTRUCTIONS:\nYou are a highly skilled and professional blog writer,\nrenowned for crafting engaging and well-organized articles.\nWhen given a title, you meticulously create blogs that are not only\ninformative and accurate but also captivating and beautifully structured.'"
+ },
+ "layout": {
+ "name": "layout",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[paragraph] - Write a concise introduction (2-3 sentences) that outlines the main topic.\n[horizontalrule] - Insert a horizontal rule to separate the introduction from the main content.\n[list] - Create a list with 3-5 items. Each list item should contain:\n a. [heading] - A brief, descriptive heading (up to 5 words)\n b. [paragraph] - A short explanation or elaboration (1-2 sentences)\n[horizontalrule] - Insert another horizontal rule to separate the main content from the conclusion.\n[paragraph] - Compose a brief conclusion (2-3 sentences) summarizing the key points.\n[quote] - Include a relevant quote from a famous person, directly related to the topic. Format: \"Quote text.\" - Author Name'"
+ },
+ "unsloth_text_settings_model": {
+ "name": "unsloth_text_settings_model",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'unsloth/gemma-4-E4B-it-qat-GGUF'"
+ },
+ "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": {
+ "plugin_ai_instructions_schema_path_idx": {
+ "name": "plugin_ai_instructions_schema_path_idx",
+ "columns": [
+ {
+ "expression": "schema_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "plugin_ai_instructions_updated_at_idx": {
+ "name": "plugin_ai_instructions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "plugin_ai_instructions_created_at_idx": {
+ "name": "plugin_ai_instructions_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_mcp_api_keys": {
+ "name": "payload_mcp_api_keys",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "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()"
+ },
+ "enable_a_p_i_key": {
+ "name": "enable_a_p_i_key",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "api_key": {
+ "name": "api_key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "api_key_index": {
+ "name": "api_key_index",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "payload_mcp_api_keys_user_idx": {
+ "name": "payload_mcp_api_keys_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_mcp_api_keys_updated_at_idx": {
+ "name": "payload_mcp_api_keys_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_mcp_api_keys_created_at_idx": {
+ "name": "payload_mcp_api_keys_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "payload_mcp_api_keys_user_id_users_id_fk": {
+ "name": "payload_mcp_api_keys_user_id_users_id_fk",
+ "tableFrom": "payload_mcp_api_keys",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payload_kv": {
+ "name": "payload_kv",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "key": {
+ "name": "key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "data": {
+ "name": "data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "payload_kv_key_idx": {
+ "name": "payload_kv_key_idx",
+ "columns": [
+ {
+ "expression": "key",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payload_locked_documents": {
+ "name": "payload_locked_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "global_slug": {
+ "name": "global_slug",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "payload_locked_documents_global_slug_idx": {
+ "name": "payload_locked_documents_global_slug_idx",
+ "columns": [
+ {
+ "expression": "global_slug",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_updated_at_idx": {
+ "name": "payload_locked_documents_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_created_at_idx": {
+ "name": "payload_locked_documents_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payload_locked_documents_rels": {
+ "name": "payload_locked_documents_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "media_id": {
+ "name": "media_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_hard_resources_id": {
+ "name": "game_hard_resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_structures_id": {
+ "name": "game_structures_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_vehicles_id": {
+ "name": "game_vehicles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_npcs_id": {
+ "name": "game_npcs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "npc_staffing_id": {
+ "name": "npc_staffing_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "labor_classifications_id": {
+ "name": "labor_classifications_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "game_event_logs_id": {
+ "name": "game_event_logs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "users_id": {
+ "name": "users_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "roles_id": {
+ "name": "roles_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
+ },
+ "assignment_transfers_id": {
+ "name": "assignment_transfers_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "experience_id": {
+ "name": "experience_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_notifications_id": {
+ "name": "user_notifications_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluations_id": {
+ "name": "evaluations_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "missions_id": {
+ "name": "missions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mission_attendances_id": {
+ "name": "mission_attendances_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "campaigns_id": {
+ "name": "campaigns_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "factions_id": {
+ "name": "factions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "technologies_id": {
+ "name": "technologies_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assets_id": {
+ "name": "assets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resources_id": {
+ "name": "resources_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vehicles_id": {
+ "name": "vehicles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "structures_id": {
+ "name": "structures_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipments_id": {
+ "name": "shipments_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bank_accounts_id": {
+ "name": "bank_accounts_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bank_transactions_id": {
+ "name": "bank_transactions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ledger_entries_id": {
+ "name": "ledger_entries_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "locker_storages_id": {
+ "name": "locker_storages_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "loadouts_id": {
+ "name": "loadouts_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_listings_id": {
+ "name": "market_listings_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_negotiations_id": {
+ "name": "market_negotiations_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "market_state_id": {
+ "name": "market_state_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "voice_scripts_id": {
+ "name": "voice_scripts_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "voice_submissions_id": {
+ "name": "voice_submissions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tickets_id": {
+ "name": "tickets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ticket_votes_id": {
+ "name": "ticket_votes_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "wiki_pages_id": {
+ "name": "wiki_pages_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "wiki_revisions_id": {
+ "name": "wiki_revisions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "wiki_templates_id": {
+ "name": "wiki_templates_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "projects_id": {
+ "name": "projects_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sprints_id": {
+ "name": "sprints_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "releases_id": {
+ "name": "releases_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "labels_id": {
+ "name": "labels_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
+ },
+ "story_beats_id": {
+ "name": "story_beats_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "story_beat_states_id": {
+ "name": "story_beat_states_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
+ },
+ "game_servers_id": {
+ "name": "game_servers_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "arma_sync_events_id": {
+ "name": "arma_sync_events_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "arma_commands_id": {
+ "name": "arma_commands_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "custom_minefields_id": {
+ "name": "custom_minefields_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "custom_minefield_scores_id": {
+ "name": "custom_minefield_scores_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "custom_radio_tests_id": {
+ "name": "custom_radio_tests_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "custom_radio_test_scores_id": {
+ "name": "custom_radio_test_scores_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "plugin_ai_instructions_id": {
+ "name": "plugin_ai_instructions_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payload_mcp_api_keys_id": {
+ "name": "payload_mcp_api_keys_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "payload_locked_documents_rels_order_idx": {
+ "name": "payload_locked_documents_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_parent_idx": {
+ "name": "payload_locked_documents_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_path_idx": {
+ "name": "payload_locked_documents_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_media_id_idx": {
+ "name": "payload_locked_documents_rels_media_id_idx",
+ "columns": [
+ {
+ "expression": "media_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_game_hard_resources_id_idx": {
+ "name": "payload_locked_documents_rels_game_hard_resources_id_idx",
+ "columns": [
+ {
+ "expression": "game_hard_resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_game_structures_id_idx": {
+ "name": "payload_locked_documents_rels_game_structures_id_idx",
+ "columns": [
+ {
+ "expression": "game_structures_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_game_vehicles_id_idx": {
+ "name": "payload_locked_documents_rels_game_vehicles_id_idx",
+ "columns": [
+ {
+ "expression": "game_vehicles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_game_npcs_id_idx": {
+ "name": "payload_locked_documents_rels_game_npcs_id_idx",
+ "columns": [
+ {
+ "expression": "game_npcs_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_npc_staffing_id_idx": {
+ "name": "payload_locked_documents_rels_npc_staffing_id_idx",
+ "columns": [
+ {
+ "expression": "npc_staffing_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_labor_classifications_id_idx": {
+ "name": "payload_locked_documents_rels_labor_classifications_id_idx",
+ "columns": [
+ {
+ "expression": "labor_classifications_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_game_event_logs_id_idx": {
+ "name": "payload_locked_documents_rels_game_event_logs_id_idx",
+ "columns": [
+ {
+ "expression": "game_event_logs_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_users_id_idx": {
+ "name": "payload_locked_documents_rels_users_id_idx",
+ "columns": [
+ {
+ "expression": "users_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_roles_id_idx": {
+ "name": "payload_locked_documents_rels_roles_id_idx",
+ "columns": [
+ {
+ "expression": "roles_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_assignment_transfers_id_idx": {
+ "name": "payload_locked_documents_rels_assignment_transfers_id_idx",
+ "columns": [
+ {
+ "expression": "assignment_transfers_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_experience_id_idx": {
+ "name": "payload_locked_documents_rels_experience_id_idx",
+ "columns": [
+ {
+ "expression": "experience_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_user_notifications_id_idx": {
+ "name": "payload_locked_documents_rels_user_notifications_id_idx",
+ "columns": [
+ {
+ "expression": "user_notifications_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_evaluations_id_idx": {
+ "name": "payload_locked_documents_rels_evaluations_id_idx",
+ "columns": [
+ {
+ "expression": "evaluations_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_missions_id_idx": {
+ "name": "payload_locked_documents_rels_missions_id_idx",
+ "columns": [
+ {
+ "expression": "missions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_mission_attendances_id_idx": {
+ "name": "payload_locked_documents_rels_mission_attendances_id_idx",
+ "columns": [
+ {
+ "expression": "mission_attendances_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_campaigns_id_idx": {
+ "name": "payload_locked_documents_rels_campaigns_id_idx",
+ "columns": [
+ {
+ "expression": "campaigns_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_factions_id_idx": {
+ "name": "payload_locked_documents_rels_factions_id_idx",
+ "columns": [
+ {
+ "expression": "factions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_technologies_id_idx": {
+ "name": "payload_locked_documents_rels_technologies_id_idx",
+ "columns": [
+ {
+ "expression": "technologies_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_assets_id_idx": {
+ "name": "payload_locked_documents_rels_assets_id_idx",
+ "columns": [
+ {
+ "expression": "assets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_resources_id_idx": {
+ "name": "payload_locked_documents_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_vehicles_id_idx": {
+ "name": "payload_locked_documents_rels_vehicles_id_idx",
+ "columns": [
+ {
+ "expression": "vehicles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_structures_id_idx": {
+ "name": "payload_locked_documents_rels_structures_id_idx",
+ "columns": [
+ {
+ "expression": "structures_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_shipments_id_idx": {
+ "name": "payload_locked_documents_rels_shipments_id_idx",
+ "columns": [
+ {
+ "expression": "shipments_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_bank_accounts_id_idx": {
+ "name": "payload_locked_documents_rels_bank_accounts_id_idx",
+ "columns": [
+ {
+ "expression": "bank_accounts_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_bank_transactions_id_idx": {
+ "name": "payload_locked_documents_rels_bank_transactions_id_idx",
+ "columns": [
+ {
+ "expression": "bank_transactions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_ledger_entries_id_idx": {
+ "name": "payload_locked_documents_rels_ledger_entries_id_idx",
+ "columns": [
+ {
+ "expression": "ledger_entries_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_locker_storages_id_idx": {
+ "name": "payload_locked_documents_rels_locker_storages_id_idx",
+ "columns": [
+ {
+ "expression": "locker_storages_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_loadouts_id_idx": {
+ "name": "payload_locked_documents_rels_loadouts_id_idx",
+ "columns": [
+ {
+ "expression": "loadouts_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_market_listings_id_idx": {
+ "name": "payload_locked_documents_rels_market_listings_id_idx",
+ "columns": [
+ {
+ "expression": "market_listings_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_market_negotiations_id_idx": {
+ "name": "payload_locked_documents_rels_market_negotiations_id_idx",
+ "columns": [
+ {
+ "expression": "market_negotiations_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_market_state_id_idx": {
+ "name": "payload_locked_documents_rels_market_state_id_idx",
+ "columns": [
+ {
+ "expression": "market_state_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_voice_scripts_id_idx": {
+ "name": "payload_locked_documents_rels_voice_scripts_id_idx",
+ "columns": [
+ {
+ "expression": "voice_scripts_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_voice_submissions_id_idx": {
+ "name": "payload_locked_documents_rels_voice_submissions_id_idx",
+ "columns": [
+ {
+ "expression": "voice_submissions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_tickets_id_idx": {
+ "name": "payload_locked_documents_rels_tickets_id_idx",
+ "columns": [
+ {
+ "expression": "tickets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_ticket_votes_id_idx": {
+ "name": "payload_locked_documents_rels_ticket_votes_id_idx",
+ "columns": [
+ {
+ "expression": "ticket_votes_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_wiki_pages_id_idx": {
+ "name": "payload_locked_documents_rels_wiki_pages_id_idx",
+ "columns": [
+ {
+ "expression": "wiki_pages_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_wiki_revisions_id_idx": {
+ "name": "payload_locked_documents_rels_wiki_revisions_id_idx",
+ "columns": [
+ {
+ "expression": "wiki_revisions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_wiki_templates_id_idx": {
+ "name": "payload_locked_documents_rels_wiki_templates_id_idx",
+ "columns": [
+ {
+ "expression": "wiki_templates_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_projects_id_idx": {
+ "name": "payload_locked_documents_rels_projects_id_idx",
+ "columns": [
+ {
+ "expression": "projects_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_sprints_id_idx": {
+ "name": "payload_locked_documents_rels_sprints_id_idx",
+ "columns": [
+ {
+ "expression": "sprints_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_releases_id_idx": {
+ "name": "payload_locked_documents_rels_releases_id_idx",
+ "columns": [
+ {
+ "expression": "releases_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_labels_id_idx": {
+ "name": "payload_locked_documents_rels_labels_id_idx",
+ "columns": [
+ {
+ "expression": "labels_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_story_beats_id_idx": {
+ "name": "payload_locked_documents_rels_story_beats_id_idx",
+ "columns": [
+ {
+ "expression": "story_beats_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_story_beat_states_id_idx": {
+ "name": "payload_locked_documents_rels_story_beat_states_id_idx",
+ "columns": [
+ {
+ "expression": "story_beat_states_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": {}
+ },
+ "payload_locked_documents_rels_game_servers_id_idx": {
+ "name": "payload_locked_documents_rels_game_servers_id_idx",
+ "columns": [
+ {
+ "expression": "game_servers_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_arma_sync_events_id_idx": {
+ "name": "payload_locked_documents_rels_arma_sync_events_id_idx",
+ "columns": [
+ {
+ "expression": "arma_sync_events_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_arma_commands_id_idx": {
+ "name": "payload_locked_documents_rels_arma_commands_id_idx",
+ "columns": [
+ {
+ "expression": "arma_commands_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_custom_minefields_id_idx": {
+ "name": "payload_locked_documents_rels_custom_minefields_id_idx",
+ "columns": [
+ {
+ "expression": "custom_minefields_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_custom_minefield_scores_id_idx": {
+ "name": "payload_locked_documents_rels_custom_minefield_scores_id_idx",
+ "columns": [
+ {
+ "expression": "custom_minefield_scores_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_custom_radio_tests_id_idx": {
+ "name": "payload_locked_documents_rels_custom_radio_tests_id_idx",
+ "columns": [
+ {
+ "expression": "custom_radio_tests_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_custom_radio_test_scores_i_idx": {
+ "name": "payload_locked_documents_rels_custom_radio_test_scores_i_idx",
+ "columns": [
+ {
+ "expression": "custom_radio_test_scores_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_plugin_ai_instructions_id_idx": {
+ "name": "payload_locked_documents_rels_plugin_ai_instructions_id_idx",
+ "columns": [
+ {
+ "expression": "plugin_ai_instructions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_payload_mcp_api_keys_id_idx": {
+ "name": "payload_locked_documents_rels_payload_mcp_api_keys_id_idx",
+ "columns": [
+ {
+ "expression": "payload_mcp_api_keys_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "payload_locked_documents_rels_parent_fk": {
+ "name": "payload_locked_documents_rels_parent_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "payload_locked_documents",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_media_fk": {
+ "name": "payload_locked_documents_rels_media_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "media",
+ "columnsFrom": [
+ "media_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_game_hard_resources_fk": {
+ "name": "payload_locked_documents_rels_game_hard_resources_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_hard_resources",
+ "columnsFrom": [
+ "game_hard_resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_game_structures_fk": {
+ "name": "payload_locked_documents_rels_game_structures_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "game_structures_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_game_vehicles_fk": {
+ "name": "payload_locked_documents_rels_game_vehicles_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_vehicles",
+ "columnsFrom": [
+ "game_vehicles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_game_npcs_fk": {
+ "name": "payload_locked_documents_rels_game_npcs_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_npcs",
+ "columnsFrom": [
+ "game_npcs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_npc_staffing_fk": {
+ "name": "payload_locked_documents_rels_npc_staffing_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "npc_staffing",
+ "columnsFrom": [
+ "npc_staffing_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_labor_classifications_fk": {
+ "name": "payload_locked_documents_rels_labor_classifications_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "labor_classifications",
+ "columnsFrom": [
+ "labor_classifications_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_game_event_logs_fk": {
+ "name": "payload_locked_documents_rels_game_event_logs_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_event_logs",
+ "columnsFrom": [
+ "game_event_logs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_users_fk": {
+ "name": "payload_locked_documents_rels_users_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_roles_fk": {
+ "name": "payload_locked_documents_rels_roles_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "roles_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_assignment_transfers_fk": {
+ "name": "payload_locked_documents_rels_assignment_transfers_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "assignment_transfers",
+ "columnsFrom": [
+ "assignment_transfers_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_experience_fk": {
+ "name": "payload_locked_documents_rels_experience_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "experience",
+ "columnsFrom": [
+ "experience_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_user_notifications_fk": {
+ "name": "payload_locked_documents_rels_user_notifications_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "user_notifications",
+ "columnsFrom": [
+ "user_notifications_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_evaluations_fk": {
+ "name": "payload_locked_documents_rels_evaluations_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "evaluations",
+ "columnsFrom": [
+ "evaluations_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_missions_fk": {
+ "name": "payload_locked_documents_rels_missions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "missions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_mission_attendances_fk": {
+ "name": "payload_locked_documents_rels_mission_attendances_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "mission_attendances",
+ "columnsFrom": [
+ "mission_attendances_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_campaigns_fk": {
+ "name": "payload_locked_documents_rels_campaigns_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "campaigns",
+ "columnsFrom": [
+ "campaigns_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_factions_fk": {
+ "name": "payload_locked_documents_rels_factions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "factions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_technologies_fk": {
+ "name": "payload_locked_documents_rels_technologies_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "technologies",
+ "columnsFrom": [
+ "technologies_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_assets_fk": {
+ "name": "payload_locked_documents_rels_assets_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "assets",
+ "columnsFrom": [
+ "assets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_resources_fk": {
+ "name": "payload_locked_documents_rels_resources_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_vehicles_fk": {
+ "name": "payload_locked_documents_rels_vehicles_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "vehicles",
+ "columnsFrom": [
+ "vehicles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_structures_fk": {
+ "name": "payload_locked_documents_rels_structures_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "structures_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_shipments_fk": {
+ "name": "payload_locked_documents_rels_shipments_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "shipments",
+ "columnsFrom": [
+ "shipments_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_bank_accounts_fk": {
+ "name": "payload_locked_documents_rels_bank_accounts_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "bank_accounts",
+ "columnsFrom": [
+ "bank_accounts_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_bank_transactions_fk": {
+ "name": "payload_locked_documents_rels_bank_transactions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "bank_transactions",
+ "columnsFrom": [
+ "bank_transactions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_ledger_entries_fk": {
+ "name": "payload_locked_documents_rels_ledger_entries_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "ledger_entries",
+ "columnsFrom": [
+ "ledger_entries_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_locker_storages_fk": {
+ "name": "payload_locked_documents_rels_locker_storages_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "locker_storages",
+ "columnsFrom": [
+ "locker_storages_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_loadouts_fk": {
+ "name": "payload_locked_documents_rels_loadouts_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "loadouts",
+ "columnsFrom": [
+ "loadouts_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_market_listings_fk": {
+ "name": "payload_locked_documents_rels_market_listings_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "market_listings",
+ "columnsFrom": [
+ "market_listings_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_market_negotiations_fk": {
+ "name": "payload_locked_documents_rels_market_negotiations_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "market_negotiations",
+ "columnsFrom": [
+ "market_negotiations_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_market_state_fk": {
+ "name": "payload_locked_documents_rels_market_state_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "market_state",
+ "columnsFrom": [
+ "market_state_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_voice_scripts_fk": {
+ "name": "payload_locked_documents_rels_voice_scripts_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "voice_scripts",
+ "columnsFrom": [
+ "voice_scripts_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_voice_submissions_fk": {
+ "name": "payload_locked_documents_rels_voice_submissions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "voice_submissions",
+ "columnsFrom": [
+ "voice_submissions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_tickets_fk": {
+ "name": "payload_locked_documents_rels_tickets_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "tickets",
+ "columnsFrom": [
+ "tickets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_ticket_votes_fk": {
+ "name": "payload_locked_documents_rels_ticket_votes_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "ticket_votes",
+ "columnsFrom": [
+ "ticket_votes_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_wiki_pages_fk": {
+ "name": "payload_locked_documents_rels_wiki_pages_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "wiki_pages",
+ "columnsFrom": [
+ "wiki_pages_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_wiki_revisions_fk": {
+ "name": "payload_locked_documents_rels_wiki_revisions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "wiki_revisions",
+ "columnsFrom": [
+ "wiki_revisions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_wiki_templates_fk": {
+ "name": "payload_locked_documents_rels_wiki_templates_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "wiki_templates",
+ "columnsFrom": [
+ "wiki_templates_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_projects_fk": {
+ "name": "payload_locked_documents_rels_projects_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "projects_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_sprints_fk": {
+ "name": "payload_locked_documents_rels_sprints_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "sprints",
+ "columnsFrom": [
+ "sprints_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_releases_fk": {
+ "name": "payload_locked_documents_rels_releases_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "releases",
+ "columnsFrom": [
+ "releases_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_labels_fk": {
+ "name": "payload_locked_documents_rels_labels_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "labels",
+ "columnsFrom": [
+ "labels_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_story_beats_fk": {
+ "name": "payload_locked_documents_rels_story_beats_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "story_beats",
+ "columnsFrom": [
+ "story_beats_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_story_beat_states_fk": {
+ "name": "payload_locked_documents_rels_story_beat_states_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "story_beat_states",
+ "columnsFrom": [
+ "story_beat_states_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"
+ },
+ "payload_locked_documents_rels_game_servers_fk": {
+ "name": "payload_locked_documents_rels_game_servers_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "game_servers",
+ "columnsFrom": [
+ "game_servers_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_arma_sync_events_fk": {
+ "name": "payload_locked_documents_rels_arma_sync_events_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "arma_sync_events",
+ "columnsFrom": [
+ "arma_sync_events_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_arma_commands_fk": {
+ "name": "payload_locked_documents_rels_arma_commands_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "arma_commands",
+ "columnsFrom": [
+ "arma_commands_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_custom_minefields_fk": {
+ "name": "payload_locked_documents_rels_custom_minefields_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "custom_minefields",
+ "columnsFrom": [
+ "custom_minefields_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_custom_minefield_scores_fk": {
+ "name": "payload_locked_documents_rels_custom_minefield_scores_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "custom_minefield_scores",
+ "columnsFrom": [
+ "custom_minefield_scores_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_custom_radio_tests_fk": {
+ "name": "payload_locked_documents_rels_custom_radio_tests_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "custom_radio_tests",
+ "columnsFrom": [
+ "custom_radio_tests_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_custom_radio_test_scores_fk": {
+ "name": "payload_locked_documents_rels_custom_radio_test_scores_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "custom_radio_test_scores",
+ "columnsFrom": [
+ "custom_radio_test_scores_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_plugin_ai_instructions_fk": {
+ "name": "payload_locked_documents_rels_plugin_ai_instructions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "plugin_ai_instructions",
+ "columnsFrom": [
+ "plugin_ai_instructions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_payload_mcp_api_keys_fk": {
+ "name": "payload_locked_documents_rels_payload_mcp_api_keys_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "payload_mcp_api_keys",
+ "columnsFrom": [
+ "payload_mcp_api_keys_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
+ },
+ "payload_mcp_api_keys_id": {
+ "name": "payload_mcp_api_keys_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": {}
+ },
+ "payload_preferences_rels_payload_mcp_api_keys_id_idx": {
+ "name": "payload_preferences_rels_payload_mcp_api_keys_id_idx",
+ "columns": [
+ {
+ "expression": "payload_mcp_api_keys_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"
+ },
+ "payload_preferences_rels_payload_mcp_api_keys_fk": {
+ "name": "payload_preferences_rels_payload_mcp_api_keys_fk",
+ "tableFrom": "payload_preferences_rels",
+ "tableTo": "payload_mcp_api_keys",
+ "columnsFrom": [
+ "payload_mcp_api_keys_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
+ },
+ "currency_name": {
+ "name": "currency_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_symbol": {
+ "name": "currency_symbol",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_singular": {
+ "name": "currency_singular",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_plural": {
+ "name": "currency_plural",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency_denomination": {
+ "name": "currency_denomination",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "proximity_threshold": {
+ "name": "proximity_threshold",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 10
+ },
+ "game_tick_interval_minutes": {
+ "name": "game_tick_interval_minutes",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 10
+ },
+ "locker_grid_width": {
+ "name": "locker_grid_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 10
+ },
+ "locker_grid_height": {
+ "name": "locker_grid_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 6
+ },
+ "staff_hiring_enabled": {
+ "name": "staff_hiring_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "staff_hiring_disabled_message": {
+ "name": "staff_hiring_disabled_message",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "economy_enabled": {
+ "name": "economy_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "economy_default_price_band": {
+ "name": "economy_default_price_band",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0.5
+ },
+ "economy_real_demand_window_ticks": {
+ "name": "economy_real_demand_window_ticks",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 24
+ },
+ "economy_real_demand_decay": {
+ "name": "economy_real_demand_decay",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0.5
+ },
+ "economy_artificial_demand_drift": {
+ "name": "economy_artificial_demand_drift",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0.05
+ },
+ "economy_cold_start_observations": {
+ "name": "economy_cold_start_observations",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 5
+ },
+ "economy_tick_interval_hint_minutes": {
+ "name": "economy_tick_interval_hint_minutes",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 60
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_rules_main_currency_idx": {
+ "name": "game_rules_main_currency_idx",
+ "columns": [
+ {
+ "expression": "main_currency_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_rules_main_currency_id_resources_id_fk": {
+ "name": "game_rules_main_currency_id_resources_id_fk",
+ "tableFrom": "game_rules",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "main_currency_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_rules_rels": {
+ "name": "game_rules_rels",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assignments_id": {
+ "name": "assignments_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_rules_rels_order_idx": {
+ "name": "game_rules_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_rules_rels_parent_idx": {
+ "name": "game_rules_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_rules_rels_path_idx": {
+ "name": "game_rules_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_rules_rels_assignments_id_idx": {
+ "name": "game_rules_rels_assignments_id_idx",
+ "columns": [
+ {
+ "expression": "assignments_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_rules_rels_parent_fk": {
+ "name": "game_rules_rels_parent_fk",
+ "tableFrom": "game_rules_rels",
+ "tableTo": "game_rules",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "game_rules_rels_assignments_fk": {
+ "name": "game_rules_rels_assignments_fk",
+ "tableFrom": "game_rules_rels",
+ "tableTo": "assignments",
+ "columnsFrom": [
+ "assignments_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shims_shims_targeting_roles": {
+ "name": "shims_shims_targeting_roles",
+ "schema": "",
+ "columns": {
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "enum_shims_shims_targeting_roles",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "shims_shims_targeting_roles_order_idx": {
+ "name": "shims_shims_targeting_roles_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_shims_targeting_roles_parent_idx": {
+ "name": "shims_shims_targeting_roles_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shims_shims_targeting_roles_parent_fk": {
+ "name": "shims_shims_targeting_roles_parent_fk",
+ "tableFrom": "shims_shims_targeting_roles",
+ "tableTo": "shims_shims",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shims_shims": {
+ "name": "shims_shims",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "summary": {
+ "name": "summary",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "enabled": {
+ "name": "enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_shims_shims_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'css'"
+ },
+ "content": {
+ "name": "content",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "targeting_audience": {
+ "name": "targeting_audience",
+ "type": "enum_shims_shims_targeting_audience",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'all'"
+ },
+ "targeting_percentage": {
+ "name": "targeting_percentage",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 50
+ },
+ "paths_match_type": {
+ "name": "paths_match_type",
+ "type": "enum_shims_shims_paths_match_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'all'"
+ }
+ },
+ "indexes": {
+ "shims_shims_order_idx": {
+ "name": "shims_shims_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_shims_parent_id_idx": {
+ "name": "shims_shims_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_shims_name_idx": {
+ "name": "shims_shims_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shims_shims_parent_id_fk": {
+ "name": "shims_shims_parent_id_fk",
+ "tableFrom": "shims_shims",
+ "tableTo": "shims",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shims": {
+ "name": "shims",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shims_texts": {
+ "name": "shims_texts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "order": {
+ "name": "order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "shims_texts_order_parent": {
+ "name": "shims_texts_order_parent",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shims_texts_parent_fk": {
+ "name": "shims_texts_parent_fk",
+ "tableFrom": "shims_texts",
+ "tableTo": "shims",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.shims_rels": {
+ "name": "shims_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": {
+ "shims_rels_order_idx": {
+ "name": "shims_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_rels_parent_idx": {
+ "name": "shims_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_rels_path_idx": {
+ "name": "shims_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "shims_rels_users_id_idx": {
+ "name": "shims_rels_users_id_idx",
+ "columns": [
+ {
+ "expression": "users_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "shims_rels_parent_fk": {
+ "name": "shims_rels_parent_fk",
+ "tableFrom": "shims_rels",
+ "tableTo": "shims",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "shims_rels_users_fk": {
+ "name": "shims_rels_users_fk",
+ "tableFrom": "shims_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {
+ "public.enum_game_structures_staff_positions_position_type": {
+ "name": "enum_game_structures_staff_positions_position_type",
+ "schema": "public",
+ "values": [
+ "administrative",
+ "technical",
+ "other"
+ ]
+ },
+ "public.enum_game_vehicles_status": {
+ "name": "enum_game_vehicles_status",
+ "schema": "public",
+ "values": [
+ "idle",
+ "assigned",
+ "in_transit",
+ "damaged",
+ "destroyed"
+ ]
+ },
+ "public.enum_npc_staffing_position_type": {
+ "name": "enum_npc_staffing_position_type",
+ "schema": "public",
+ "values": [
+ "labor",
+ "administrative",
+ "technical",
+ "other"
+ ]
+ },
+ "public.enum_npc_staffing_status": {
+ "name": "enum_npc_staffing_status",
+ "schema": "public",
+ "values": [
+ "active",
+ "terminated"
+ ]
+ },
+ "public.enum_game_event_logs_target_collection": {
+ "name": "enum_game_event_logs_target_collection",
+ "schema": "public",
+ "values": [
+ "game-structures",
+ "game-vehicles",
+ "game-npcs",
+ "npc-staffing",
+ "structures",
+ "resources",
+ "assets",
+ "vehicles",
+ "factions",
+ "missions",
+ "campaigns",
+ "users",
+ "technologies",
+ "maps",
+ "shipments",
+ "bank-accounts",
+ "bank-transactions",
+ "ledger-entries",
+ "locker-storages",
+ "loadouts",
+ "market-listings",
+ "market-negotiations",
+ "market-state",
+ "evaluations",
+ "tickets",
+ "wiki-pages",
+ "wiki-revisions",
+ "wiki-templates",
+ "game-servers",
+ "assignment-transfers",
+ "voice-scripts",
+ "voice-submissions",
+ "story-beats",
+ "story-beat-states",
+ "custom-minefields",
+ "custom-minefield-scores",
+ "custom-radio-tests",
+ "custom-radio-test-scores"
+ ]
+ },
+ "public.enum_users_roles": {
+ "name": "enum_users_roles",
+ "schema": "public",
+ "values": [
+ "guest",
+ "user",
+ "trusted",
+ "admin",
+ "developer"
+ ]
+ },
+ "public.enum_users_preferences_notifications_muted_types": {
+ "name": "enum_users_preferences_notifications_muted_types",
+ "schema": "public",
+ "values": [
+ "market:offer",
+ "market:counter",
+ "market:accept",
+ "market:reject",
+ "market:withdrawn",
+ "market:closed",
+ "market:sold",
+ "market:expired",
+ "award:granted",
+ "account:discord-request",
+ "finance:deposit",
+ "finance:withdraw",
+ "finance:transfer",
+ "shipment:completed",
+ "ticket:created",
+ "ticket:assigned",
+ "ticket:reply",
+ "ticket:status"
+ ]
+ },
+ "public.enum_users_preferences_discord_muted_types": {
+ "name": "enum_users_preferences_discord_muted_types",
+ "schema": "public",
+ "values": [
+ "market:offer",
+ "market:counter",
+ "market:accept",
+ "market:reject",
+ "market:withdrawn",
+ "market:closed",
+ "market:sold",
+ "market:expired",
+ "award:granted",
+ "account:discord-request",
+ "finance:deposit",
+ "finance:withdraw",
+ "finance:transfer",
+ "shipment:completed",
+ "ticket:created",
+ "ticket:assigned",
+ "ticket:reply",
+ "ticket:status"
+ ]
+ },
+ "public.enum_users_preferences_display_lead_or_actual": {
+ "name": "enum_users_preferences_display_lead_or_actual",
+ "schema": "public",
+ "values": [
+ "lead",
+ "actual"
+ ]
+ },
+ "public.enum_roles_permissions": {
+ "name": "enum_roles_permissions",
+ "schema": "public",
+ "values": [
+ "system:admin-access",
+ "media:create",
+ "media:read",
+ "media:update",
+ "media:delete",
+ "admin:media:manage",
+ "users:create",
+ "users:read",
+ "users:update",
+ "users:delete",
+ "users:unlock",
+ "users:assign-roles",
+ "admin:users:manage",
+ "roles:create",
+ "roles:read",
+ "roles:update",
+ "roles:delete",
+ "admin:roles:manage",
+ "ranks:create",
+ "ranks:read",
+ "ranks:update",
+ "ranks:delete",
+ "admin:ranks:manage",
+ "profiles:create",
+ "profiles:read",
+ "profiles:update",
+ "profiles:delete",
+ "admin:profiles:manage",
+ "awards:create",
+ "awards:read",
+ "awards:update",
+ "awards:delete",
+ "admin:awards:manage",
+ "qualifications:create",
+ "qualifications:read",
+ "qualifications:update",
+ "qualifications:delete",
+ "admin:qualifications:manage",
+ "assignments:create",
+ "assignments:read",
+ "assignments:update",
+ "assignments:delete",
+ "admin:assignments:manage",
+ "assignment-transfers:create",
+ "assignment-transfers:read",
+ "assignment-transfers:update",
+ "assignment-transfers:delete",
+ "admin:assignment-transfers:manage",
+ "experience:create",
+ "experience:read",
+ "experience:update",
+ "experience:delete",
+ "admin:experience:manage",
+ "user-notifications:create",
+ "user-notifications:read",
+ "user-notifications:update",
+ "user-notifications:delete",
+ "admin:user-notifications:manage",
+ "evaluations:create",
+ "evaluations:read",
+ "evaluations:update",
+ "evaluations:delete",
+ "admin:evaluations:manage",
+ "missions:create",
+ "missions:read",
+ "missions:update",
+ "missions:delete",
+ "missions:read-sensitive",
+ "admin:missions:manage",
+ "mission-attendances:create",
+ "mission-attendances:read",
+ "mission-attendances:update",
+ "mission-attendances:delete",
+ "admin:mission-attendances:manage",
+ "campaigns:create",
+ "campaigns:read",
+ "campaigns:update",
+ "campaigns:delete",
+ "admin:campaigns:manage",
+ "campaigns:manage",
+ "factions:create",
+ "factions:read",
+ "factions:update",
+ "factions:delete",
+ "admin:factions:manage",
+ "technologies:create",
+ "technologies:read",
+ "technologies:update",
+ "technologies:delete",
+ "admin:technologies:manage",
+ "assets:create",
+ "assets:read",
+ "assets:update",
+ "assets:delete",
+ "admin:assets:manage",
+ "resources:create",
+ "resources:read",
+ "resources:update",
+ "resources:delete",
+ "admin:resources:manage",
+ "vehicles:create",
+ "vehicles:read",
+ "vehicles:update",
+ "vehicles:delete",
+ "admin:vehicles:manage",
+ "structures:create",
+ "structures:read",
+ "structures:update",
+ "structures:delete",
+ "admin:structures:manage",
+ "shipments:create",
+ "shipments:read",
+ "shipments:update",
+ "shipments:delete",
+ "admin:shipments:manage",
+ "bank-accounts:create",
+ "bank-accounts:read",
+ "bank-accounts:update",
+ "bank-accounts:delete",
+ "admin:bank-accounts:manage",
+ "bank-transactions:create",
+ "bank-transactions:read",
+ "bank-transactions:update",
+ "bank-transactions:delete",
+ "admin:bank-transactions:manage",
+ "ledger-entries:create",
+ "ledger-entries:read",
+ "ledger-entries:update",
+ "ledger-entries:delete",
+ "admin:ledger-entries:manage",
+ "locker-storages:create",
+ "locker-storages:read",
+ "locker-storages:update",
+ "locker-storages:delete",
+ "admin:locker-storages:manage",
+ "loadouts:create",
+ "loadouts:read",
+ "loadouts:update",
+ "loadouts:delete",
+ "admin:loadouts:manage",
+ "market-listings:create",
+ "market-listings:read",
+ "market-listings:update",
+ "market-listings:delete",
+ "admin:market-listings:manage",
+ "market-negotiations:create",
+ "market-negotiations:read",
+ "market-negotiations:update",
+ "market-negotiations:delete",
+ "admin:market-negotiations:manage",
+ "market-state:create",
+ "market-state:read",
+ "market-state:update",
+ "market-state:delete",
+ "admin:market-state:manage",
+ "projects:create",
+ "projects:read",
+ "projects:update",
+ "projects:delete",
+ "admin:projects:manage",
+ "labels:create",
+ "labels:read",
+ "labels:update",
+ "labels:delete",
+ "admin:labels:manage",
+ "sprints:create",
+ "sprints:read",
+ "sprints:update",
+ "sprints:delete",
+ "admin:sprints:manage",
+ "releases:create",
+ "releases:read",
+ "releases:update",
+ "releases:delete",
+ "admin:releases:manage",
+ "tickets:create",
+ "tickets:read",
+ "tickets:update",
+ "tickets:delete",
+ "admin:tickets:manage",
+ "ticket-votes:create",
+ "ticket-votes:read",
+ "ticket-votes:update",
+ "ticket-votes:delete",
+ "admin:ticket-votes:manage",
+ "game-structures:create",
+ "game-structures:read",
+ "game-structures:update",
+ "game-structures:delete",
+ "admin:game-structures:manage",
+ "game-vehicles:create",
+ "game-vehicles:read",
+ "game-vehicles:update",
+ "game-vehicles:delete",
+ "admin:game-vehicles:manage",
+ "game-npcs:create",
+ "game-npcs:read",
+ "game-npcs:update",
+ "game-npcs:delete",
+ "admin:game-npcs:manage",
+ "game-hard-resources:create",
+ "game-hard-resources:read",
+ "game-hard-resources:update",
+ "game-hard-resources:delete",
+ "admin:game-hard-resources:manage",
+ "game-event-logs:create",
+ "game-event-logs:read",
+ "game-event-logs:update",
+ "game-event-logs:delete",
+ "admin:game-event-logs:manage",
+ "maps:create",
+ "maps:read",
+ "maps:update",
+ "maps:delete",
+ "admin:maps:manage",
+ "narrative-events:create",
+ "narrative-events:read",
+ "narrative-events:update",
+ "narrative-events:delete",
+ "admin:narrative-events:manage",
+ "mission-files:create",
+ "mission-files:read",
+ "mission-files:update",
+ "mission-files:delete",
+ "admin:mission-files:manage",
+ "mod-lists:create",
+ "mod-lists:read",
+ "mod-lists:update",
+ "mod-lists:delete",
+ "admin:mod-lists:manage",
+ "game-servers:create",
+ "game-servers:read",
+ "game-servers:update",
+ "game-servers:delete",
+ "admin:game-servers:manage",
+ "arma-sync-events:create",
+ "arma-sync-events:read",
+ "arma-sync-events:update",
+ "arma-sync-events:delete",
+ "admin:arma-sync-events:manage",
+ "arma-commands:create",
+ "arma-commands:read",
+ "arma-commands:update",
+ "arma-commands:delete",
+ "admin:arma-commands:manage",
+ "game-rules:read",
+ "game-rules:update",
+ "shims:read",
+ "shims:update",
+ "logistics:manage",
+ "intelligence:manage",
+ "profiles:intel_excerpt:update",
+ "banking:manage",
+ "tickets:staff",
+ "discord:staff",
+ "discord:announce",
+ "custom-minefields:update",
+ "custom-minefields:delete",
+ "custom-minefield-scores:delete",
+ "custom-radio-tests:update",
+ "custom-radio-tests:delete",
+ "custom-radio-test-scores:delete"
+ ]
+ },
+ "public.enum_awards_grant_config_allowed_grantor_assignment_types": {
+ "name": "enum_awards_grant_config_allowed_grantor_assignment_types",
+ "schema": "public",
+ "values": [
+ "division",
+ "squad",
+ "team",
+ "special"
+ ]
+ },
+ "public.enum_awards_type": {
+ "name": "enum_awards_type",
+ "schema": "public",
+ "values": [
+ "commendation",
+ "ribbon",
+ "medal"
+ ]
+ },
+ "public.enum_awards_grant_config_recipient_scope": {
+ "name": "enum_awards_grant_config_recipient_scope",
+ "schema": "public",
+ "values": [
+ "same_command",
+ "whitelist",
+ "anyone"
+ ]
+ },
+ "public.enum_assignments_type": {
+ "name": "enum_assignments_type",
+ "schema": "public",
+ "values": [
+ "division",
+ "squad",
+ "team",
+ "special"
+ ]
+ },
+ "public.enum_assignment_transfers_status": {
+ "name": "enum_assignment_transfers_status",
+ "schema": "public",
+ "values": [
+ "pending",
+ "rejected",
+ "awaiting_superuser",
+ "completed",
+ "cancelled",
+ "denied"
+ ]
+ },
+ "public.enum_assignment_transfers_escalation_reason": {
+ "name": "enum_assignment_transfers_escalation_reason",
+ "schema": "public",
+ "values": [
+ "no_leaders",
+ "appeal",
+ "leader_changed"
+ ]
+ },
+ "public.enum_assignment_transfers_from_leader_decision": {
+ "name": "enum_assignment_transfers_from_leader_decision",
+ "schema": "public",
+ "values": [
+ "pending",
+ "approved",
+ "rejected",
+ "not_required"
+ ]
+ },
+ "public.enum_assignment_transfers_to_leader_decision": {
+ "name": "enum_assignment_transfers_to_leader_decision",
+ "schema": "public",
+ "values": [
+ "pending",
+ "approved",
+ "rejected",
+ "not_required"
+ ]
+ },
+ "public.enum_evaluations_kind": {
+ "name": "enum_evaluations_kind",
+ "schema": "public",
+ "values": [
+ "leader-direct",
+ "leader-indirect",
+ "subordinate"
+ ]
+ },
+ "public.enum_evaluations_level": {
+ "name": "enum_evaluations_level",
+ "schema": "public",
+ "values": [
+ "exceptional",
+ "excellent",
+ "proficient",
+ "adequate",
+ "moderate",
+ "under-review"
+ ]
+ },
+ "public.enum_missions_factions_involved_threat_level": {
+ "name": "enum_missions_factions_involved_threat_level",
+ "schema": "public",
+ "values": [
+ "ally",
+ "friendly",
+ "neutral",
+ "hostile"
+ ]
+ },
+ "public.enum_missions_logistics_and_support_insertion": {
+ "name": "enum_missions_logistics_and_support_insertion",
+ "schema": "public",
+ "values": [
+ "helicopter",
+ "aircraft",
+ "paradrop",
+ "boat",
+ "car",
+ "onFoot"
+ ]
+ },
+ "public.enum_missions_logistics_and_support_extraction": {
+ "name": "enum_missions_logistics_and_support_extraction",
+ "schema": "public",
+ "values": [
+ "helicopter",
+ "aircraft",
+ "paradrop",
+ "boat",
+ "car",
+ "onFoot"
+ ]
+ },
+ "public.enum_missions_operation_type": {
+ "name": "enum_missions_operation_type",
+ "schema": "public",
+ "values": [
+ "main",
+ "side",
+ "external"
+ ]
+ },
+ "public.enum_missions_classification_mission_type": {
+ "name": "enum_missions_classification_mission_type",
+ "schema": "public",
+ "values": [
+ "Zeus",
+ "PvE",
+ "PvP",
+ "PvPvE",
+ "Training",
+ "Special"
+ ]
+ },
+ "public.enum_missions_ownership_and_status_status": {
+ "name": "enum_missions_ownership_and_status_status",
+ "schema": "public",
+ "values": [
+ "Concept",
+ "Planning",
+ "Ready",
+ "Scheduled",
+ "Active",
+ "Completed",
+ "Cancelled"
+ ]
+ },
+ "public.enum_missions_ownership_and_status_visibility": {
+ "name": "enum_missions_ownership_and_status_visibility",
+ "schema": "public",
+ "values": [
+ "unit",
+ "leadership",
+ "intel",
+ "private"
+ ]
+ },
+ "public.enum_missions_civilian_presence": {
+ "name": "enum_missions_civilian_presence",
+ "schema": "public",
+ "values": [
+ "None",
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
+ "public.enum_mission_attendances_response": {
+ "name": "enum_mission_attendances_response",
+ "schema": "public",
+ "values": [
+ "yes",
+ "no",
+ "tentative"
+ ]
+ },
+ "public.enum_campaigns_status": {
+ "name": "enum_campaigns_status",
+ "schema": "public",
+ "values": [
+ "concept",
+ "inProgress",
+ "completed"
+ ]
+ },
+ "public.enum_campaigns_campaign_mode": {
+ "name": "enum_campaigns_campaign_mode",
+ "schema": "public",
+ "values": [
+ "official",
+ "custom"
+ ]
+ },
+ "public.enum_factions_type": {
+ "name": "enum_factions_type",
+ "schema": "public",
+ "values": [
+ "playerFaction",
+ "majorFaction",
+ "minorFaction",
+ "corporation",
+ "special"
+ ]
+ },
+ "public.enum_technologies_approval_status": {
+ "name": "enum_technologies_approval_status",
+ "schema": "public",
+ "values": [
+ "in_progress",
+ "ready_for_review",
+ "approved",
+ "rejected",
+ "revision_requested"
+ ]
+ },
+ "public.enum_technologies_type": {
+ "name": "enum_technologies_type",
+ "schema": "public",
+ "values": [
+ "asset",
+ "upgrade"
+ ]
+ },
+ "public.enum_assets_skin_configuration_applies_to_asset_types": {
+ "name": "enum_assets_skin_configuration_applies_to_asset_types",
+ "schema": "public",
+ "values": [
+ "weapon",
+ "uniform",
+ "vest",
+ "backpack",
+ "helmet"
+ ]
+ },
+ "public.enum_assets_approval_status": {
+ "name": "enum_assets_approval_status",
+ "schema": "public",
+ "values": [
+ "in_progress",
+ "ready_for_review",
+ "approved",
+ "rejected",
+ "revision_requested"
+ ]
+ },
+ "public.enum_assets_asset_type": {
+ "name": "enum_assets_asset_type",
+ "schema": "public",
+ "values": [
+ "weapon",
+ "magazine",
+ "optic",
+ "muzzle",
+ "bipod",
+ "uniform",
+ "vest",
+ "backpack",
+ "helmet",
+ "facewear",
+ "nvg",
+ "radio",
+ "medical",
+ "tool",
+ "explosive",
+ "skin",
+ "miscellaneous"
+ ]
+ },
+ "public.enum_assets_weapon_configuration_slot_type": {
+ "name": "enum_assets_weapon_configuration_slot_type",
+ "schema": "public",
+ "values": [
+ "primary",
+ "secondary",
+ "launcher"
+ ]
+ },
+ "public.enum_assets_nightvision_configuration_nvg_generation": {
+ "name": "enum_assets_nightvision_configuration_nvg_generation",
+ "schema": "public",
+ "values": [
+ "gen1",
+ "gen2",
+ "gen3"
+ ]
+ },
+ "public.enum_assets_market_trading_rarity": {
+ "name": "enum_assets_market_trading_rarity",
+ "schema": "public",
+ "values": [
+ "basic",
+ "common",
+ "uncommon",
+ "rare",
+ "veryRare",
+ "epic",
+ "legendary",
+ "unique"
+ ]
+ },
+ "public.enum_resources_approval_status": {
+ "name": "enum_resources_approval_status",
+ "schema": "public",
+ "values": [
+ "in_progress",
+ "ready_for_review",
+ "approved",
+ "rejected",
+ "revision_requested"
+ ]
+ },
+ "public.enum_resources_type": {
+ "name": "enum_resources_type",
+ "schema": "public",
+ "values": [
+ "physical",
+ "fluid",
+ "energy",
+ "abstract"
+ ]
+ },
+ "public.enum_resources_rarity": {
+ "name": "enum_resources_rarity",
+ "schema": "public",
+ "values": [
+ "common",
+ "uncommon",
+ "rare",
+ "epic",
+ "legendary",
+ "exotic",
+ "unique"
+ ]
+ },
+ "public.enum_vehicles_category": {
+ "name": "enum_vehicles_category",
+ "schema": "public",
+ "values": [
+ "civilian",
+ "utility",
+ "transport",
+ "weaponized",
+ "military"
+ ]
+ },
+ "public.enum_vehicles_pylons_pylon_type": {
+ "name": "enum_vehicles_pylons_pylon_type",
+ "schema": "public",
+ "values": [
+ "mountedWeapon",
+ "pylon"
+ ]
+ },
+ "public.enum_vehicles_approval_status": {
+ "name": "enum_vehicles_approval_status",
+ "schema": "public",
+ "values": [
+ "in_progress",
+ "ready_for_review",
+ "approved",
+ "rejected",
+ "revision_requested"
+ ]
+ },
+ "public.enum_vehicles_armor_rating": {
+ "name": "enum_vehicles_armor_rating",
+ "schema": "public",
+ "values": [
+ "none",
+ "light",
+ "medium",
+ "heavy",
+ "composite"
+ ]
+ },
+ "public.enum_structures_staff_positions_position_type": {
+ "name": "enum_structures_staff_positions_position_type",
+ "schema": "public",
+ "values": [
+ "administrative",
+ "technical",
+ "other"
+ ]
+ },
+ "public.enum_structures_approval_status": {
+ "name": "enum_structures_approval_status",
+ "schema": "public",
+ "values": [
+ "in_progress",
+ "ready_for_review",
+ "approved",
+ "rejected",
+ "revision_requested"
+ ]
+ },
+ "public.enum_structures_category": {
+ "name": "enum_structures_category",
+ "schema": "public",
+ "values": [
+ "logistics",
+ "military",
+ "civilian"
+ ]
+ },
+ "public.enum_structures_terrain_type": {
+ "name": "enum_structures_terrain_type",
+ "schema": "public",
+ "values": [
+ "land",
+ "water"
+ ]
+ },
+ "public.enum_structures_function_type": {
+ "name": "enum_structures_function_type",
+ "schema": "public",
+ "values": [
+ "producer",
+ "storage",
+ "sensor",
+ "converter",
+ "defense",
+ "miscellaneous"
+ ]
+ },
+ "public.enum_shipments_status": {
+ "name": "enum_shipments_status",
+ "schema": "public",
+ "values": [
+ "pending",
+ "dispatched",
+ "in_transit",
+ "arrived",
+ "completed",
+ "cancelled",
+ "failed",
+ "stranded"
+ ]
+ },
+ "public.enum_bank_accounts_account_type": {
+ "name": "enum_bank_accounts_account_type",
+ "schema": "public",
+ "values": [
+ "treasury",
+ "faction",
+ "personal"
+ ]
+ },
+ "public.enum_bank_accounts_status": {
+ "name": "enum_bank_accounts_status",
+ "schema": "public",
+ "values": [
+ "open",
+ "frozen",
+ "closed"
+ ]
+ },
+ "public.enum_bank_transactions_type": {
+ "name": "enum_bank_transactions_type",
+ "schema": "public",
+ "values": [
+ "deposit",
+ "withdrawal",
+ "transfer",
+ "payment",
+ "fee",
+ "salary",
+ "adjustment"
+ ]
+ },
+ "public.enum_bank_transactions_status": {
+ "name": "enum_bank_transactions_status",
+ "schema": "public",
+ "values": [
+ "completed",
+ "reversed"
+ ]
+ },
+ "public.enum_ledger_entries_type": {
+ "name": "enum_ledger_entries_type",
+ "schema": "public",
+ "values": [
+ "deposit",
+ "withdrawal",
+ "transfer",
+ "payment",
+ "fee",
+ "salary",
+ "adjustment"
+ ]
+ },
+ "public.enum_market_listings_status": {
+ "name": "enum_market_listings_status",
+ "schema": "public",
+ "values": [
+ "active",
+ "sold",
+ "cancelled",
+ "expired"
+ ]
+ },
+ "public.enum_market_negotiations_history_from": {
+ "name": "enum_market_negotiations_history_from",
+ "schema": "public",
+ "values": [
+ "buyer",
+ "seller"
+ ]
+ },
+ "public.enum_market_negotiations_status": {
+ "name": "enum_market_negotiations_status",
+ "schema": "public",
+ "values": [
+ "open",
+ "accepted",
+ "rejected",
+ "closed",
+ "cancelled",
+ "expired"
+ ]
+ },
+ "public.enum_market_negotiations_proposed_by": {
+ "name": "enum_market_negotiations_proposed_by",
+ "schema": "public",
+ "values": [
+ "buyer",
+ "seller"
+ ]
+ },
+ "public.enum_market_state_item_type": {
+ "name": "enum_market_state_item_type",
+ "schema": "public",
+ "values": [
+ "resource",
+ "asset"
+ ]
+ },
+ "public.enum_voice_scripts_status": {
+ "name": "enum_voice_scripts_status",
+ "schema": "public",
+ "values": [
+ "open",
+ "closed"
+ ]
+ },
+ "public.enum_voice_submissions_status": {
+ "name": "enum_voice_submissions_status",
+ "schema": "public",
+ "values": [
+ "pending",
+ "accepted",
+ "rejected"
+ ]
+ },
+ "public.enum_tickets_activity_type": {
+ "name": "enum_tickets_activity_type",
+ "schema": "public",
+ "values": [
+ "system",
+ "agent_message",
+ "client_message"
+ ]
+ },
+ "public.enum_tickets_category": {
+ "name": "enum_tickets_category",
+ "schema": "public",
+ "values": [
+ "bug_report",
+ "feature_request",
+ "support_request",
+ "other"
+ ]
+ },
+ "public.enum_tickets_priority": {
+ "name": "enum_tickets_priority",
+ "schema": "public",
+ "values": [
+ "low",
+ "medium",
+ "high",
+ "critical"
+ ]
+ },
+ "public.enum_tickets_status": {
+ "name": "enum_tickets_status",
+ "schema": "public",
+ "values": [
+ "open",
+ "in_review",
+ "planning",
+ "in_progress",
+ "waiting_on_reporter",
+ "in_testing",
+ "resolved",
+ "canceled",
+ "closed"
+ ]
+ },
+ "public.enum_tickets_type": {
+ "name": "enum_tickets_type",
+ "schema": "public",
+ "values": [
+ "task",
+ "bug",
+ "story",
+ "epic",
+ "improvement"
+ ]
+ },
+ "public.enum_tickets_resolution": {
+ "name": "enum_tickets_resolution",
+ "schema": "public",
+ "values": [
+ "fixed",
+ "wontfix",
+ "duplicate",
+ "invalid"
+ ]
+ },
+ "public.enum_wiki_pages_category": {
+ "name": "enum_wiki_pages_category",
+ "schema": "public",
+ "values": [
+ "Campaign",
+ "World",
+ "Lore",
+ "Characters",
+ "Plot",
+ "Media",
+ "Guides",
+ "Meta"
+ ]
+ },
+ "public.enum_wiki_revisions_type": {
+ "name": "enum_wiki_revisions_type",
+ "schema": "public",
+ "values": [
+ "create",
+ "edit",
+ "restore"
+ ]
+ },
+ "public.enum_projects_status": {
+ "name": "enum_projects_status",
+ "schema": "public",
+ "values": [
+ "active",
+ "archived"
+ ]
+ },
+ "public.enum_sprints_status": {
+ "name": "enum_sprints_status",
+ "schema": "public",
+ "values": [
+ "planning",
+ "active",
+ "completed"
+ ]
+ },
+ "public.enum_releases_status": {
+ "name": "enum_releases_status",
+ "schema": "public",
+ "values": [
+ "draft",
+ "in_progress",
+ "released"
+ ]
+ },
+ "public.enum_narrative_events_triggers_type": {
+ "name": "enum_narrative_events_triggers_type",
+ "schema": "public",
+ "values": [
+ "manual",
+ "mission_complete",
+ "timer",
+ "condition"
+ ]
+ },
+ "public.enum_story_beats_status": {
+ "name": "enum_story_beats_status",
+ "schema": "public",
+ "values": [
+ "draft",
+ "published"
+ ]
+ },
+ "public.enum_story_beat_states_reaction": {
+ "name": "enum_story_beat_states_reaction",
+ "schema": "public",
+ "values": [
+ "like",
+ "heart",
+ "salute"
+ ]
+ },
+ "public.enum_game_servers_status": {
+ "name": "enum_game_servers_status",
+ "schema": "public",
+ "values": [
+ "online",
+ "offline"
+ ]
+ },
+ "public.enum_arma_commands_status": {
+ "name": "enum_arma_commands_status",
+ "schema": "public",
+ "values": [
+ "queued",
+ "delivered",
+ "succeeded",
+ "failed"
+ ]
+ },
+ "public.enum_custom_radio_tests_order": {
+ "name": "enum_custom_radio_tests_order",
+ "schema": "public",
+ "values": [
+ "fixed",
+ "shuffled"
+ ]
+ },
+ "public.enum_custom_radio_test_scores_mode": {
+ "name": "enum_custom_radio_test_scores_mode",
+ "schema": "public",
+ "values": [
+ "sprint",
+ "watch"
+ ]
+ },
+ "public.enum_plugin_ai_instructions_field_type": {
+ "name": "enum_plugin_ai_instructions_field_type",
+ "schema": "public",
+ "values": [
+ "text",
+ "textarea",
+ "upload",
+ "richText"
+ ]
+ },
+ "public.enum_plugin_ai_instructions_model_id": {
+ "name": "enum_plugin_ai_instructions_model_id",
+ "schema": "public",
+ "values": [
+ "unsloth-text"
+ ]
+ },
+ "public.enum_shims_shims_targeting_roles": {
+ "name": "enum_shims_shims_targeting_roles",
+ "schema": "public",
+ "values": [
+ "guest",
+ "user",
+ "trusted",
+ "admin",
+ "developer"
+ ]
+ },
+ "public.enum_shims_shims_type": {
+ "name": "enum_shims_shims_type",
+ "schema": "public",
+ "values": [
+ "css",
+ "js"
+ ]
+ },
+ "public.enum_shims_shims_targeting_audience": {
+ "name": "enum_shims_shims_targeting_audience",
+ "schema": "public",
+ "values": [
+ "all",
+ "percentage",
+ "users",
+ "roles"
+ ]
+ },
+ "public.enum_shims_shims_paths_match_type": {
+ "name": "enum_shims_shims_paths_match_type",
+ "schema": "public",
+ "values": [
+ "all",
+ "include",
+ "exclude"
+ ]
+ }
+ },
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "schemas": {},
+ "tables": {},
+ "columns": {}
+ },
+ "id": "c839b524-3574-4bcd-93bd-a196ae556668",
+ "prevId": "00000000-0000-0000-0000-000000000000"
+}
\ No newline at end of file
diff --git a/src/migrations/20260909_153427_add_opord_recall_best_times.ts b/src/migrations/20260909_153427_add_opord_recall_best_times.ts
new file mode 100644
index 0000000..b6c576c
--- /dev/null
+++ b/src/migrations/20260909_153427_add_opord_recall_best_times.ts
@@ -0,0 +1,35 @@
+import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
+
+export async function up({ db, payload, req }: MigrateUpArgs): Promise {
+ await db.execute(sql`
+ ALTER TABLE "profiles" ADD COLUMN "progression_minigames_opord_recall_recruit_best_time_ms" numeric;
+ ALTER TABLE "profiles" ADD COLUMN "progression_minigames_opord_recall_veteran_best_time_ms" numeric;
+ ALTER TABLE "profiles" ADD COLUMN "progression_minigames_opord_recall_elite_best_time_ms" numeric;
+ DO $$
+ BEGIN
+ IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'custom_minefields')
+ AND NOT EXISTS (
+ SELECT 1 FROM information_schema.columns
+ WHERE table_name = 'custom_minefields' AND column_name = 'creator_xp_bank'
+ ) THEN
+ ALTER TABLE "custom_minefields" ADD COLUMN "creator_xp_bank" numeric DEFAULT 0;
+ END IF;
+ END $$;`)
+}
+
+export async function down({ db, payload, req }: MigrateDownArgs): Promise {
+ await db.execute(sql`
+ ALTER TABLE "profiles" DROP COLUMN "progression_minigames_opord_recall_recruit_best_time_ms";
+ ALTER TABLE "profiles" DROP COLUMN "progression_minigames_opord_recall_veteran_best_time_ms";
+ ALTER TABLE "profiles" DROP COLUMN "progression_minigames_opord_recall_elite_best_time_ms";
+ DO $$
+ BEGIN
+ IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'custom_minefields')
+ AND EXISTS (
+ SELECT 1 FROM information_schema.columns
+ WHERE table_name = 'custom_minefields' AND column_name = 'creator_xp_bank'
+ ) THEN
+ ALTER TABLE "custom_minefields" DROP COLUMN "creator_xp_bank";
+ END IF;
+ END $$;`)
+}
diff --git a/src/migrations/index.ts b/src/migrations/index.ts
index f45b975..b9ef28f 100644
--- a/src/migrations/index.ts
+++ b/src/migrations/index.ts
@@ -48,6 +48,7 @@ import * as migration_20260908_152021_add_opord_recall_minigame_stats from './20
import * as migration_20260908_172241_add_custom_minigame_collections from './20260908_172241_add_custom_minigame_collections';
import * as migration_20260908_193107_add_creator_xp_bank_field from './20260908_193107_add_creator_xp_bank_field';
import * as migration_20260908_194435_add_expose_edge_mines_field from './20260908_194435_add_expose_edge_mines_field';
+import * as migration_20260909_153427_add_opord_recall_best_times from './20260909_153427_add_opord_recall_best_times';
export const migrations = [
{
@@ -298,6 +299,11 @@ export const migrations = [
{
up: migration_20260908_194435_add_expose_edge_mines_field.up,
down: migration_20260908_194435_add_expose_edge_mines_field.down,
- name: '20260908_194435_add_expose_edge_mines_field'
+ name: '20260908_194435_add_expose_edge_mines_field',
+ },
+ {
+ up: migration_20260909_153427_add_opord_recall_best_times.up,
+ down: migration_20260909_153427_add_opord_recall_best_times.down,
+ name: '20260909_153427_add_opord_recall_best_times'
},
];
diff --git a/src/payload-types.ts b/src/payload-types.ts
index b6f7d92..e25fa73 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -2062,6 +2062,9 @@ export interface Profile {
recruitBestScore?: number | null;
veteranBestScore?: number | null;
eliteBestScore?: number | null;
+ recruitBestTimeMs?: number | null;
+ veteranBestTimeMs?: number | null;
+ eliteBestTimeMs?: number | null;
xpEarned?: number | null;
};
};
@@ -4584,6 +4587,9 @@ export interface ProfilesSelect {
recruitBestScore?: T;
veteranBestScore?: T;
eliteBestScore?: T;
+ recruitBestTimeMs?: T;
+ veteranBestTimeMs?: T;
+ eliteBestTimeMs?: T;
xpEarned?: T;
};
};
diff --git a/src/tools/seed/backfillOpordBestTimes.ts b/src/tools/seed/backfillOpordBestTimes.ts
new file mode 100644
index 0000000..ffee1c0
--- /dev/null
+++ b/src/tools/seed/backfillOpordBestTimes.ts
@@ -0,0 +1,86 @@
+import "dotenv/config";
+import { getPayload } from "payload";
+import config from "@payload-config";
+
+import { OPORD_DIFFICULTIES } from "../../lib/minigames/opord-recall";
+
+// Usage: `bun run src/tools/seed/backfillOpordBestTimes.ts`.
+// Backfills OPORD Recall best times introduced after the speed-bonus scoring
+// change: any profile with a nonzero per-tier best score but no recorded time
+// gets the tier's par time as the neutral placeholder, so pre-change players
+// are accounted for on the leaderboard's Time column. Idempotent.
+
+type Tier = "recruit" | "veteran" | "elite";
+const TIERS: readonly Tier[] = ["recruit", "veteran", "elite"];
+
+export const backfillOpordBestTimes = async () => {
+ const payload = await getPayload({ config });
+
+ payload.logger.info("Backfilling OPORD Recall best times...");
+
+ let updated = 0;
+ let page = 1;
+ const limit = 100;
+ for (;;) {
+ const res = await payload.find({
+ collection: "profiles",
+ page,
+ limit,
+ depth: 0,
+ overrideAccess: true,
+ });
+ for (const profile of res.docs) {
+ const progression = (profile.progression ?? {}) as {
+ minigames?: {
+ opordRecall?: Record<
+ | "recruitBestScore"
+ | "veteranBestScore"
+ | "eliteBestScore"
+ | "recruitBestTimeMs"
+ | "veteranBestTimeMs"
+ | "eliteBestTimeMs",
+ number | null | undefined
+ >;
+ };
+ };
+ const stats = progression.minigames?.opordRecall;
+ if (!stats) continue;
+ const patch: Partial> = {};
+ for (const tier of TIERS) {
+ const score = stats[`${tier}BestScore`] ?? 0;
+ const time = stats[`${tier}BestTimeMs`];
+ if (score > 0 && time == null) {
+ patch[`${tier}BestTimeMs`] = OPORD_DIFFICULTIES[tier].parTimeMs;
+ }
+ }
+ if (Object.keys(patch).length === 0) continue;
+ await payload.update({
+ collection: "profiles",
+ id: profile.id,
+ data: {
+ progression: {
+ ...progression,
+ minigames: {
+ ...(progression.minigames ?? {}),
+ opordRecall: {
+ ...stats,
+ ...patch,
+ },
+ },
+ },
+ },
+ overrideAccess: true,
+ depth: 0,
+ });
+ updated += 1;
+ }
+ if (page >= res.totalPages) break;
+ page += 1;
+ }
+
+ payload.logger.info("--- backfill summary ---");
+ payload.logger.info(`Profiles updated: ${updated}`);
+};
+
+await backfillOpordBestTimes();
+process.exit(0);