diff --git a/src/app/(frontend)/wiki/[slug]/edit/page.tsx b/src/app/(frontend)/wiki/[slug]/edit/page.tsx
index 6e8837c..e529ec8 100644
--- a/src/app/(frontend)/wiki/[slug]/edit/page.tsx
+++ b/src/app/(frontend)/wiki/[slug]/edit/page.tsx
@@ -8,6 +8,7 @@ import { Card, CardContent } from "@/components/ui/card";
import { LockdownBanner } from "@/components/frontend/wiki/LockdownBanner";
import { WikiEditor } from "@/components/frontend/wiki/WikiEditor";
import { listTemplates, templateMap } from "@/lib/wiki/service";
+import hasRoles from "@/utils/access-control/hasRoles";
export const metadata = {
title: "Edit wiki page: Polaris Task Force",
@@ -74,6 +75,31 @@ export default async function EditWikiPage({
);
}
+ const canEditDocumentation = hasRoles(["admin"], user);
+ if (page.category === "Documentation" && !canEditDocumentation) {
+ return (
+
+
+
+ Back to page
+
+
+
+
+ Documentation pages are maintained by admins and developers. If something here is out
+ of date, contact the staff team.
+
+
+
+ );
+ }
+
const [templates, pagesResult, hasEditedRevisions] = await Promise.all([
listTemplates(payload),
payload.find({
@@ -132,6 +158,7 @@ export default async function EditWikiPage({
templateHtmlMap={templateHtmlMap(templates)}
existingPages={existingPages}
isFirstEdit={!hasEditedRevisions}
+ canEditDocumentation={canEditDocumentation}
/>
diff --git a/src/app/(frontend)/wiki/actions.ts b/src/app/(frontend)/wiki/actions.ts
index 31d3483..82f67e9 100644
--- a/src/app/(frontend)/wiki/actions.ts
+++ b/src/app/(frontend)/wiki/actions.ts
@@ -5,6 +5,7 @@ import { isPayloadUser } from "@/utils/access-control/isPayloadUser";
import { getPayload } from "payload";
import type { User, WikiPage } from "@/payload-types";
import { hasIntelligenceQualification } from "@/utils/access-control/hasIntelligenceQualification";
+import hasRoles from "@/utils/access-control/hasRoles";
import { emitGameEvent } from "@/utils/event-log/emit";
import { EventTypes } from "@/utils/event-log/eventTypes";
import {
@@ -21,6 +22,17 @@ interface ActionResult {
data?: T;
}
+/**
+ * Documentation-category pages are curated admin/developer content. The wiki
+ * service layer runs with overrideAccess, so this rule must be enforced here
+ * in addition to the collection access functions.
+ */
+function documentationEditError(user: User, effectiveCategory: string | undefined): string | null {
+ if (effectiveCategory !== "Documentation") return null;
+ if (hasRoles(["admin"], user)) return null;
+ return "Only admins and developers can create or edit Documentation pages.";
+}
+
async function authenticate() {
const payloadConfig = await config;
const payload = await getPayload({ config: payloadConfig });
@@ -70,6 +82,8 @@ export async function createWikiPage(input: {
}): Promise> {
try {
const { payload, user } = await authenticate();
+ const docError = documentationEditError(user, input.category);
+ if (docError) return { success: false, error: docError };
const page = await createPage(payload, user, input);
await emitGameEvent(payload, {
type: EventTypes.WikiPageCreate,
@@ -101,6 +115,8 @@ export async function updateWikiPage(input: {
const { payload, user } = await authenticate();
const page = await fetchPage(payload, input.id);
if (!page) return { success: false, error: "Wiki page not found." };
+ const docError = documentationEditError(user, input.category ?? page.category);
+ if (docError) return { success: false, error: docError };
const updated = await updatePage(payload, user, page, input);
await emitGameEvent(payload, {
type: EventTypes.WikiPageEdit,
diff --git a/src/app/(frontend)/wiki/new/page.tsx b/src/app/(frontend)/wiki/new/page.tsx
index 23e294f..93f458c 100644
--- a/src/app/(frontend)/wiki/new/page.tsx
+++ b/src/app/(frontend)/wiki/new/page.tsx
@@ -5,6 +5,7 @@ import { getPayload } from "payload";
import { ArrowLeftIcon, FilePlus2Icon } from "lucide-react";
import { WikiEditor } from "@/components/frontend/wiki/WikiEditor";
import { listTemplates, templateMap } from "@/lib/wiki/service";
+import hasRoles from "@/utils/access-control/hasRoles";
export const metadata = {
title: "New wiki page (Polaris Task Force)",
@@ -90,6 +91,7 @@ export default async function NewWikiPage({
templateHtmlMap={templateHtmlMap(templates)}
existingPages={existingPages}
isFirstEdit={!hasEditedRevisions}
+ canEditDocumentation={hasRoles(["admin"], user)}
/>
);
diff --git a/src/collections/wiki/WikiPages.ts b/src/collections/wiki/WikiPages.ts
index 2e18cd9..73b3b64 100644
--- a/src/collections/wiki/WikiPages.ts
+++ b/src/collections/wiki/WikiPages.ts
@@ -1,5 +1,20 @@
import { CollectionConfig } from "payload";
import { hasIntelligenceQualification } from "@/utils/access-control/hasIntelligenceQualification";
+import hasRoles from "@/utils/access-control/hasRoles";
+
+/**
+ * Documentation-category pages are curated admin/developer content (in-depth
+ * system docs), unlike the rest of the wiki where any logged-in user can
+ * write. Read stays open to all logged-in users; delete/lock remain under the
+ * existing wiki moderator rules (intelligence qualification).
+ */
+function canEditDocumentationCategory(user: Parameters[1]): boolean {
+ return hasRoles(["admin"], user);
+}
+
+function isDocumentationCategory(category: unknown): boolean {
+ return typeof category === "string" && category === "Documentation";
+}
export const WikiPages: CollectionConfig = {
slug: "wiki-pages",
@@ -12,8 +27,39 @@ export const WikiPages: CollectionConfig = {
},
access: {
read: ({ req }) => !!req.user,
- create: ({ req }) => !!req.user,
- update: ({ req }) => !!req.user,
+ create: ({ req, data }) => {
+ if (!req.user) return false;
+ if (isDocumentationCategory(data?.category)) {
+ return canEditDocumentationCategory(req.user);
+ }
+ return true;
+ },
+ update: async ({ req, id, data }) => {
+ if (!req.user) return false;
+ // Check BOTH the incoming category and the existing doc's category: a
+ // plain user must not edit an existing Documentation page, and must not
+ // escalate their own page into Documentation either.
+ if (isDocumentationCategory(data?.category)) {
+ return canEditDocumentationCategory(req.user);
+ }
+ if (typeof id === "number") {
+ try {
+ const existing = (await req.payload.findByID({
+ collection: "wiki-pages",
+ id,
+ depth: 0,
+ overrideAccess: true,
+ })) as unknown as { category?: string } | null;
+ if (isDocumentationCategory(existing?.category)) {
+ return canEditDocumentationCategory(req.user);
+ }
+ } catch {
+ // Unknown id: let the operation proceed and fail validation later.
+ return true;
+ }
+ }
+ return true;
+ },
delete: async ({ req }) => {
return await hasIntelligenceQualification(req.payload, req.user);
},
@@ -47,6 +93,7 @@ export const WikiPages: CollectionConfig = {
{ label: "Media", value: "Media" },
{ label: "Guides", value: "Guides" },
{ label: "Meta", value: "Meta" },
+ { label: "Documentation", value: "Documentation" },
],
index: true,
},
@@ -83,4 +130,4 @@ export const WikiPages: CollectionConfig = {
relationTo: "users",
},
],
-};
\ No newline at end of file
+};
diff --git a/src/components/frontend/wiki/WikiEditor.tsx b/src/components/frontend/wiki/WikiEditor.tsx
index 75d85f8..d7ae61e 100644
--- a/src/components/frontend/wiki/WikiEditor.tsx
+++ b/src/components/frontend/wiki/WikiEditor.tsx
@@ -44,6 +44,12 @@ interface WikiEditorProps {
readonly templateHtmlMap?: Record;
readonly existingPages: readonly { title: string }[];
readonly isFirstEdit?: boolean;
+ /**
+ * Whether the current user may use the Documentation category (admin and
+ * developer roles). The server enforces this too; this only shapes the
+ * category picker.
+ */
+ readonly canEditDocumentation?: boolean;
}
function isWikiCategory(value: string): value is WikiCategory {
@@ -70,6 +76,7 @@ export function WikiEditor({
templateHtmlMap = {},
existingPages,
isFirstEdit = false,
+ canEditDocumentation = false,
}: WikiEditorProps) {
const router = useRouter();
const bodyRef = useRef(null);
@@ -173,11 +180,18 @@ export function WikiEditor({
- {WIKI_CATEGORIES.map((option) => (
-
- {option}
-
- ))}
+ {WIKI_CATEGORIES.map((option) => {
+ if (option === "Documentation" && !canEditDocumentation) {
+ // Keep the option visible-but-disabled when the page being
+ // edited is already Documentation, so the value renders.
+ if (category !== "Documentation") return null;
+ }
+ return (
+
+ {option}
+
+ );
+ })}
diff --git a/src/lib/wiki/categories.ts b/src/lib/wiki/categories.ts
index b5feece..a3712ea 100644
--- a/src/lib/wiki/categories.ts
+++ b/src/lib/wiki/categories.ts
@@ -7,6 +7,7 @@ export const WIKI_CATEGORIES = [
"Media",
"Guides",
"Meta",
+ "Documentation",
] as const;
export type WikiCategory = (typeof WIKI_CATEGORIES)[number];
diff --git a/src/migrations/20260930_162200_add_documentation_wiki_category.json b/src/migrations/20260930_162200_add_documentation_wiki_category.json
new file mode 100644
index 0000000..9b39e28
--- /dev/null
+++ b/src/migrations/20260930_162200_add_documentation_wiki_category.json
@@ -0,0 +1,35067 @@
+{
+ "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.announcements_buttons": {
+ "name": "announcements_buttons",
+ "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
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "href": {
+ "name": "href",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "style": {
+ "name": "style",
+ "type": "enum_announcements_buttons_style",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'default'"
+ }
+ },
+ "indexes": {
+ "announcements_buttons_order_idx": {
+ "name": "announcements_buttons_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_buttons_parent_id_idx": {
+ "name": "announcements_buttons_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "announcements_buttons_parent_id_fk": {
+ "name": "announcements_buttons_parent_id_fk",
+ "tableFrom": "announcements_buttons",
+ "tableTo": "announcements",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.announcements": {
+ "name": "announcements",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variant": {
+ "name": "variant",
+ "type": "enum_announcements_variant",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'info'"
+ },
+ "display_type": {
+ "name": "display_type",
+ "type": "enum_announcements_display_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'banner'"
+ },
+ "enabled": {
+ "name": "enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "dismissible": {
+ "name": "dismissible",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "active_from": {
+ "name": "active_from",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "active_until": {
+ "name": "active_until",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "targeting_audience": {
+ "name": "targeting_audience",
+ "type": "enum_announcements_targeting_audience",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'all'"
+ },
+ "paths_match_type": {
+ "name": "paths_match_type",
+ "type": "enum_announcements_paths_match_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'all'"
+ },
+ "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": {
+ "announcements_updated_at_idx": {
+ "name": "announcements_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_created_at_idx": {
+ "name": "announcements_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.announcements_texts": {
+ "name": "announcements_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": {
+ "announcements_texts_order_parent": {
+ "name": "announcements_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": {
+ "announcements_texts_parent_fk": {
+ "name": "announcements_texts_parent_fk",
+ "tableFrom": "announcements_texts",
+ "tableTo": "announcements",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.announcements_rels": {
+ "name": "announcements_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
+ },
+ "roles_id": {
+ "name": "roles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "announcements_rels_order_idx": {
+ "name": "announcements_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_rels_parent_idx": {
+ "name": "announcements_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_rels_path_idx": {
+ "name": "announcements_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_rels_users_id_idx": {
+ "name": "announcements_rels_users_id_idx",
+ "columns": [
+ {
+ "expression": "users_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcements_rels_roles_id_idx": {
+ "name": "announcements_rels_roles_id_idx",
+ "columns": [
+ {
+ "expression": "roles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "announcements_rels_parent_fk": {
+ "name": "announcements_rels_parent_fk",
+ "tableFrom": "announcements_rels",
+ "tableTo": "announcements",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "announcements_rels_users_fk": {
+ "name": "announcements_rels_users_fk",
+ "tableFrom": "announcements_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "announcements_rels_roles_fk": {
+ "name": "announcements_rels_roles_fk",
+ "tableFrom": "announcements_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "roles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "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_production_inputs": {
+ "name": "game_structures_production_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
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount_per_hour": {
+ "name": "amount_per_hour",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "game_structures_production_inputs_order_idx": {
+ "name": "game_structures_production_inputs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_production_inputs_parent_id_idx": {
+ "name": "game_structures_production_inputs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_production_inputs_resource_idx": {
+ "name": "game_structures_production_inputs_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_production_inputs_resource_id_resources_id_fk": {
+ "name": "game_structures_production_inputs_resource_id_resources_id_fk",
+ "tableFrom": "game_structures_production_inputs",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_production_inputs_parent_id_fk": {
+ "name": "game_structures_production_inputs_parent_id_fk",
+ "tableFrom": "game_structures_production_inputs",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures_production_outputs": {
+ "name": "game_structures_production_outputs",
+ "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_per_hour": {
+ "name": "amount_per_hour",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "game_structures_production_outputs_order_idx": {
+ "name": "game_structures_production_outputs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_production_outputs_parent_id_idx": {
+ "name": "game_structures_production_outputs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_production_outputs_resource_idx": {
+ "name": "game_structures_production_outputs_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_production_outputs_resource_id_resources_id_fk": {
+ "name": "game_structures_production_outputs_resource_id_resources_id_fk",
+ "tableFrom": "game_structures_production_outputs",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_production_outputs_parent_id_fk": {
+ "name": "game_structures_production_outputs_parent_id_fk",
+ "tableFrom": "game_structures_production_outputs",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.game_structures_installed_modules": {
+ "name": "game_structures_installed_modules",
+ "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
+ },
+ "installed_at": {
+ "name": "installed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_structures_installed_modules_order_idx": {
+ "name": "game_structures_installed_modules_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_installed_modules_parent_id_idx": {
+ "name": "game_structures_installed_modules_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "game_structures_installed_modules_parent_id_fk": {
+ "name": "game_structures_installed_modules_parent_id_fk",
+ "tableFrom": "game_structures_installed_modules",
+ "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
+ },
+ "map_id": {
+ "name": "map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "construction_status": {
+ "name": "construction_status",
+ "type": "enum_game_structures_construction_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'complete'"
+ },
+ "construction_started_at": {
+ "name": "construction_started_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "construction_completes_at": {
+ "name": "construction_completes_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "maintenance_cost": {
+ "name": "maintenance_cost",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "production_paused": {
+ "name": "production_paused",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "last_production_at": {
+ "name": "last_production_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "production_stall_reason": {
+ "name": "production_stall_reason",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "coordinates": {
+ "name": "coordinates",
+ "type": "geometry(Point)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "label_visible": {
+ "name": "label_visible",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "label_priority": {
+ "name": "label_priority",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "parent_structure_id": {
+ "name": "parent_structure_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": {
+ "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_map_idx": {
+ "name": "game_structures_map_idx",
+ "columns": [
+ {
+ "expression": "map_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_structures_parent_structure_idx": {
+ "name": "game_structures_parent_structure_idx",
+ "columns": [
+ {
+ "expression": "parent_structure_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"
+ },
+ "game_structures_map_id_maps_id_fk": {
+ "name": "game_structures_map_id_maps_id_fk",
+ "tableFrom": "game_structures",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "map_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "game_structures_parent_structure_id_game_structures_id_fk": {
+ "name": "game_structures_parent_structure_id_game_structures_id_fk",
+ "tableFrom": "game_structures",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "parent_structure_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
+ },
+ "build_efficiency": {
+ "name": "build_efficiency",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "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
+ },
+ "preferences_dashboard_layout": {
+ "name": "preferences_dashboard_layout",
+ "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()"
+ },
+ "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
+ },
+ "promotion_ceiling_id": {
+ "name": "promotion_ceiling_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_promotion_ceiling_idx": {
+ "name": "ranks_promotion_ceiling_idx",
+ "columns": [
+ {
+ "expression": "promotion_ceiling_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"
+ },
+ "ranks_promotion_ceiling_id_ranks_id_fk": {
+ "name": "ranks_promotion_ceiling_id_ranks_id_fk",
+ "tableFrom": "ranks",
+ "tableTo": "ranks",
+ "columnsFrom": [
+ "promotion_ceiling_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
+ },
+ "upgraded_from_id": {
+ "name": "upgraded_from_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upgraded_at": {
+ "name": "upgraded_at",
+ "type": "timestamp(3) with time zone",
+ "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": {}
+ },
+ "profiles_progression_awards_upgraded_from_idx": {
+ "name": "profiles_progression_awards_upgraded_from_idx",
+ "columns": [
+ {
+ "expression": "upgraded_from_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_upgraded_from_id_awards_id_fk": {
+ "name": "profiles_progression_awards_upgraded_from_id_awards_id_fk",
+ "tableFrom": "profiles_progression_awards",
+ "tableTo": "awards",
+ "columnsFrom": [
+ "upgraded_from_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_minigames_poker_games_played": {
+ "name": "progression_minigames_poker_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_wins": {
+ "name": "progression_minigames_poker_wins",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_second_places": {
+ "name": "progression_minigames_poker_second_places",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_third_places": {
+ "name": "progression_minigames_poker_third_places",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_fourth_places": {
+ "name": "progression_minigames_poker_fourth_places",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_hands_won": {
+ "name": "progression_minigames_poker_hands_won",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_best_score": {
+ "name": "progression_minigames_poker_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_poker_xp_earned": {
+ "name": "progression_minigames_poker_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_blackjack_games_played": {
+ "name": "progression_minigames_blackjack_games_played",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_blackjack_rounds_won": {
+ "name": "progression_minigames_blackjack_rounds_won",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_blackjack_blackjacks_hit": {
+ "name": "progression_minigames_blackjack_blackjacks_hit",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_blackjack_best_score": {
+ "name": "progression_minigames_blackjack_best_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_minigames_blackjack_xp_earned": {
+ "name": "progression_minigames_blackjack_xp_earned",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_chip_bank": {
+ "name": "progression_chip_bank",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "progression_chip_bank_refilled_at": {
+ "name": "progression_chip_bank_refilled_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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
+ },
+ "advancement_series_key": {
+ "name": "advancement_series_key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "advancement_tier": {
+ "name": "advancement_tier",
+ "type": "numeric",
+ "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.ribbon_submissions_grantor_types": {
+ "name": "ribbon_submissions_grantor_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_ribbon_submissions_grantor_types",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "ribbon_submissions_grantor_types_order_idx": {
+ "name": "ribbon_submissions_grantor_types_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ribbon_submissions_grantor_types_parent_idx": {
+ "name": "ribbon_submissions_grantor_types_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ribbon_submissions_grantor_types_parent_fk": {
+ "name": "ribbon_submissions_grantor_types_parent_fk",
+ "tableFrom": "ribbon_submissions_grantor_types",
+ "tableTo": "ribbon_submissions",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ribbon_submissions": {
+ "name": "ribbon_submissions",
+ "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": true
+ },
+ "design": {
+ "name": "design",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_ribbon_submissions_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "review_note": {
+ "name": "review_note",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_by_id": {
+ "name": "reviewed_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_at": {
+ "name": "reviewed_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "award_id": {
+ "name": "award_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "award_xp": {
+ "name": "award_xp",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "recipient_scope": {
+ "name": "recipient_scope",
+ "type": "enum_ribbon_submissions_recipient_scope",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'same_command'"
+ },
+ "max_grants_per_grantor": {
+ "name": "max_grants_per_grantor",
+ "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": {
+ "ribbon_submissions_user_idx": {
+ "name": "ribbon_submissions_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ribbon_submissions_reviewed_by_idx": {
+ "name": "ribbon_submissions_reviewed_by_idx",
+ "columns": [
+ {
+ "expression": "reviewed_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ribbon_submissions_award_idx": {
+ "name": "ribbon_submissions_award_idx",
+ "columns": [
+ {
+ "expression": "award_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ribbon_submissions_updated_at_idx": {
+ "name": "ribbon_submissions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "ribbon_submissions_created_at_idx": {
+ "name": "ribbon_submissions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ribbon_submissions_user_id_users_id_fk": {
+ "name": "ribbon_submissions_user_id_users_id_fk",
+ "tableFrom": "ribbon_submissions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "ribbon_submissions_reviewed_by_id_users_id_fk": {
+ "name": "ribbon_submissions_reviewed_by_id_users_id_fk",
+ "tableFrom": "ribbon_submissions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reviewed_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "ribbon_submissions_award_id_awards_id_fk": {
+ "name": "ribbon_submissions_award_id_awards_id_fk",
+ "tableFrom": "ribbon_submissions",
+ "tableTo": "awards",
+ "columnsFrom": [
+ "award_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
+ },
+ "description": {
+ "name": "description",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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
+ },
+ "slots": {
+ "name": "slots",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ }
+ },
+ "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": false
+ },
+ "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
+ },
+ "discord_cancelled_at": {
+ "name": "discord_cancelled_at",
+ "type": "timestamp(3) with time zone",
+ "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
+ },
+ "imminent_reminder_sent_at": {
+ "name": "imminent_reminder_sent_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tickets_settled_at": {
+ "name": "tickets_settled_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.mission_role_signups": {
+ "name": "mission_role_signups",
+ "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
+ },
+ "role_index": {
+ "name": "role_index",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "role_name_snapshot": {
+ "name": "role_name_snapshot",
+ "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": {
+ "mission_role_signups_mission_idx": {
+ "name": "mission_role_signups_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_role_signups_user_idx": {
+ "name": "mission_role_signups_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_role_signups_updated_at_idx": {
+ "name": "mission_role_signups_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mission_role_signups_created_at_idx": {
+ "name": "mission_role_signups_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "mission_role_signups_mission_id_missions_id_fk": {
+ "name": "mission_role_signups_mission_id_missions_id_fk",
+ "tableFrom": "mission_role_signups",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "mission_role_signups_user_id_users_id_fk": {
+ "name": "mission_role_signups_user_id_users_id_fk",
+ "tableFrom": "mission_role_signups",
+ "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
+ },
+ "transport_mode": {
+ "name": "transport_mode",
+ "type": "enum_vehicles_transport_mode",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ground'"
+ },
+ "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_production_inputs": {
+ "name": "structures_production_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
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount_per_hour": {
+ "name": "amount_per_hour",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "structures_production_inputs_order_idx": {
+ "name": "structures_production_inputs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_production_inputs_parent_id_idx": {
+ "name": "structures_production_inputs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_production_inputs_resource_idx": {
+ "name": "structures_production_inputs_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_production_inputs_resource_id_resources_id_fk": {
+ "name": "structures_production_inputs_resource_id_resources_id_fk",
+ "tableFrom": "structures_production_inputs",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_production_inputs_parent_id_fk": {
+ "name": "structures_production_inputs_parent_id_fk",
+ "tableFrom": "structures_production_inputs",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_production_outputs": {
+ "name": "structures_production_outputs",
+ "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_per_hour": {
+ "name": "amount_per_hour",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "structures_production_outputs_order_idx": {
+ "name": "structures_production_outputs_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_production_outputs_parent_id_idx": {
+ "name": "structures_production_outputs_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_production_outputs_resource_idx": {
+ "name": "structures_production_outputs_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_production_outputs_resource_id_resources_id_fk": {
+ "name": "structures_production_outputs_resource_id_resources_id_fk",
+ "tableFrom": "structures_production_outputs",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_production_outputs_parent_id_fk": {
+ "name": "structures_production_outputs_parent_id_fk",
+ "tableFrom": "structures_production_outputs",
+ "tableTo": "structures",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_module_options_effects": {
+ "name": "structures_module_options_effects",
+ "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
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_structures_module_options_effects_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "structures_module_options_effects_order_idx": {
+ "name": "structures_module_options_effects_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_module_options_effects_parent_id_idx": {
+ "name": "structures_module_options_effects_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_module_options_effects_parent_id_fk": {
+ "name": "structures_module_options_effects_parent_id_fk",
+ "tableFrom": "structures_module_options_effects",
+ "tableTo": "structures_module_options",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_module_options_materials": {
+ "name": "structures_module_options_materials",
+ "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
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "structures_module_options_materials_order_idx": {
+ "name": "structures_module_options_materials_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_module_options_materials_parent_id_idx": {
+ "name": "structures_module_options_materials_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_module_options_materials_resource_idx": {
+ "name": "structures_module_options_materials_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_module_options_materials_resource_id_resources_id_fk": {
+ "name": "structures_module_options_materials_resource_id_resources_id_fk",
+ "tableFrom": "structures_module_options_materials",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "structures_module_options_materials_parent_id_fk": {
+ "name": "structures_module_options_materials_parent_id_fk",
+ "tableFrom": "structures_module_options_materials",
+ "tableTo": "structures_module_options",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.structures_module_options": {
+ "name": "structures_module_options",
+ "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
+ },
+ "category": {
+ "name": "category",
+ "type": "enum_structures_module_options_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'utility'"
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "structures_module_options_order_idx": {
+ "name": "structures_module_options_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "structures_module_options_parent_id_idx": {
+ "name": "structures_module_options_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "structures_module_options_parent_id_fk": {
+ "name": "structures_module_options_parent_id_fk",
+ "tableFrom": "structures_module_options",
+ "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_duration_minutes": {
+ "name": "construction_duration_minutes",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "construction_crew_required": {
+ "name": "construction_crew_required",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "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
+ },
+ "module_slots": {
+ "name": "module_slots",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "aura_effect_type": {
+ "name": "aura_effect_type",
+ "type": "enum_structures_aura_effect_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "aura_value": {
+ "name": "aura_value",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "aura_range_meters": {
+ "name": "aura_range_meters",
+ "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
+ },
+ "map_id": {
+ "name": "map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "route_path": {
+ "name": "route_path",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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_map_idx": {
+ "name": "shipments_map_idx",
+ "columns": [
+ {
+ "expression": "map_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_map_id_maps_id_fk": {
+ "name": "shipments_map_id_maps_id_fk",
+ "tableFrom": "shipments",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "map_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": "'draft'"
+ },
+ "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
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "world_map": {
+ "name": "world_map",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "campaign_id": {
+ "name": "campaign_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "weather": {
+ "name": "weather",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latitude": {
+ "name": "latitude",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "longitude": {
+ "name": "longitude",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ease_of_access": {
+ "name": "ease_of_access",
+ "type": "enum_maps_ease_of_access",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "faction_control_id": {
+ "name": "faction_control_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "world_size_width": {
+ "name": "world_size_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 8192
+ },
+ "world_size_height": {
+ "name": "world_size_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 8192
+ },
+ "basemap_mode": {
+ "name": "basemap_mode",
+ "type": "enum_maps_basemap_mode",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'image'"
+ },
+ "basemap_image_id": {
+ "name": "basemap_image_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tile_url_template": {
+ "name": "tile_url_template",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "min_zoom": {
+ "name": "min_zoom",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "max_zoom": {
+ "name": "max_zoom",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 12
+ },
+ "default_center_x": {
+ "name": "default_center_x",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_center_y": {
+ "name": "default_center_y",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_zoom": {
+ "name": "default_zoom",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 2
+ },
+ "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_campaign_idx": {
+ "name": "maps_campaign_idx",
+ "columns": [
+ {
+ "expression": "campaign_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "maps_faction_control_idx": {
+ "name": "maps_faction_control_idx",
+ "columns": [
+ {
+ "expression": "faction_control_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "maps_basemap_image_idx": {
+ "name": "maps_basemap_image_idx",
+ "columns": [
+ {
+ "expression": "basemap_image_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "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": {
+ "maps_campaign_id_campaigns_id_fk": {
+ "name": "maps_campaign_id_campaigns_id_fk",
+ "tableFrom": "maps",
+ "tableTo": "campaigns",
+ "columnsFrom": [
+ "campaign_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "maps_faction_control_id_factions_id_fk": {
+ "name": "maps_faction_control_id_factions_id_fk",
+ "tableFrom": "maps",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_control_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "maps_basemap_image_id_media_id_fk": {
+ "name": "maps_basemap_image_id_media_id_fk",
+ "tableFrom": "maps",
+ "tableTo": "media",
+ "columnsFrom": [
+ "basemap_image_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.map_roads": {
+ "name": "map_roads",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "map_id": {
+ "name": "map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "surface": {
+ "name": "surface",
+ "type": "enum_map_roads_surface",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'paved'"
+ },
+ "speed_multiplier": {
+ "name": "speed_multiplier",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "stroke_color": {
+ "name": "stroke_color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "stroke_weight": {
+ "name": "stroke_weight",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 2
+ },
+ "stroke_style": {
+ "name": "stroke_style",
+ "type": "enum_map_roads_stroke_style",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'solid'"
+ },
+ "label_visible": {
+ "name": "label_visible",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "points": {
+ "name": "points",
+ "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": {
+ "map_roads_map_idx": {
+ "name": "map_roads_map_idx",
+ "columns": [
+ {
+ "expression": "map_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_roads_updated_at_idx": {
+ "name": "map_roads_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_roads_created_at_idx": {
+ "name": "map_roads_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "map_roads_map_id_maps_id_fk": {
+ "name": "map_roads_map_id_maps_id_fk",
+ "tableFrom": "map_roads",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "map_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.map_zones": {
+ "name": "map_zones",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "map_id": {
+ "name": "map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_map_zones_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "fill_color": {
+ "name": "fill_color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "stroke_color": {
+ "name": "stroke_color",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "fill_opacity": {
+ "name": "fill_opacity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "stroke_weight": {
+ "name": "stroke_weight",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "label_visible": {
+ "name": "label_visible",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "points": {
+ "name": "points",
+ "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": {
+ "map_zones_map_idx": {
+ "name": "map_zones_map_idx",
+ "columns": [
+ {
+ "expression": "map_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_zones_updated_at_idx": {
+ "name": "map_zones_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_zones_created_at_idx": {
+ "name": "map_zones_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "map_zones_map_id_maps_id_fk": {
+ "name": "map_zones_map_id_maps_id_fk",
+ "tableFrom": "map_zones",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "map_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.map_zones_rels": {
+ "name": "map_zones_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
+ }
+ },
+ "indexes": {
+ "map_zones_rels_order_idx": {
+ "name": "map_zones_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_zones_rels_parent_idx": {
+ "name": "map_zones_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_zones_rels_path_idx": {
+ "name": "map_zones_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "map_zones_rels_resources_id_idx": {
+ "name": "map_zones_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "map_zones_rels_parent_fk": {
+ "name": "map_zones_rels_parent_fk",
+ "tableFrom": "map_zones_rels",
+ "tableTo": "map_zones",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "map_zones_rels_resources_fk": {
+ "name": "map_zones_rels_resources_fk",
+ "tableFrom": "map_zones_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.resource_nodes": {
+ "name": "resource_nodes",
+ "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
+ },
+ "map_id": {
+ "name": "map_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "icon": {
+ "name": "icon",
+ "type": "enum_resource_nodes_icon",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'marker'"
+ },
+ "position": {
+ "name": "position",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "richness": {
+ "name": "richness",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ },
+ "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": {
+ "resource_nodes_map_idx": {
+ "name": "resource_nodes_map_idx",
+ "columns": [
+ {
+ "expression": "map_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resource_nodes_updated_at_idx": {
+ "name": "resource_nodes_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resource_nodes_created_at_idx": {
+ "name": "resource_nodes_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "resource_nodes_map_id_maps_id_fk": {
+ "name": "resource_nodes_map_id_maps_id_fk",
+ "tableFrom": "resource_nodes",
+ "tableTo": "maps",
+ "columnsFrom": [
+ "map_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.resource_nodes_rels": {
+ "name": "resource_nodes_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
+ }
+ },
+ "indexes": {
+ "resource_nodes_rels_order_idx": {
+ "name": "resource_nodes_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resource_nodes_rels_parent_idx": {
+ "name": "resource_nodes_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resource_nodes_rels_path_idx": {
+ "name": "resource_nodes_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "resource_nodes_rels_resources_id_idx": {
+ "name": "resource_nodes_rels_resources_id_idx",
+ "columns": [
+ {
+ "expression": "resources_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "resource_nodes_rels_parent_fk": {
+ "name": "resource_nodes_rels_parent_fk",
+ "tableFrom": "resource_nodes_rels",
+ "tableTo": "resource_nodes",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "resource_nodes_rels_resources_fk": {
+ "name": "resource_nodes_rels_resources_fk",
+ "tableFrom": "resource_nodes_rels",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resources_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "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
+ },
+ "voiceover_id": {
+ "name": "voiceover_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_voiceover_idx": {
+ "name": "story_beats_voiceover_idx",
+ "columns": [
+ {
+ "expression": "voiceover_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"
+ },
+ "story_beats_voiceover_id_story_voiceovers_id_fk": {
+ "name": "story_beats_voiceover_id_story_voiceovers_id_fk",
+ "tableFrom": "story_beats",
+ "tableTo": "story_voiceovers",
+ "columnsFrom": [
+ "voiceover_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.story_voiceovers": {
+ "name": "story_voiceovers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "ai_generated": {
+ "name": "ai_generated",
+ "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()"
+ },
+ "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": {
+ "story_voiceovers_updated_at_idx": {
+ "name": "story_voiceovers_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_voiceovers_created_at_idx": {
+ "name": "story_voiceovers_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "story_voiceovers_filename_idx": {
+ "name": "story_voiceovers_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.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.respawn_tickets": {
+ "name": "respawn_tickets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "balance": {
+ "name": "balance",
+ "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": {
+ "respawn_tickets_user_idx": {
+ "name": "respawn_tickets_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "respawn_tickets_updated_at_idx": {
+ "name": "respawn_tickets_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "respawn_tickets_created_at_idx": {
+ "name": "respawn_tickets_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "respawn_tickets_user_id_users_id_fk": {
+ "name": "respawn_tickets_user_id_users_id_fk",
+ "tableFrom": "respawn_tickets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.supply_boxes": {
+ "name": "supply_boxes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "box_id": {
+ "name": "box_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "server_id": {
+ "name": "server_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "box_class": {
+ "name": "box_class",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "display_name": {
+ "name": "display_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "location": {
+ "name": "location",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contents": {
+ "name": "contents",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "last_synced_at": {
+ "name": "last_synced_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_supply_boxes_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'active'"
+ },
+ "source_event_id": {
+ "name": "source_event_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": {
+ "supply_boxes_box_id_idx": {
+ "name": "supply_boxes_box_id_idx",
+ "columns": [
+ {
+ "expression": "box_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_session_id_idx": {
+ "name": "supply_boxes_session_id_idx",
+ "columns": [
+ {
+ "expression": "session_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_server_idx": {
+ "name": "supply_boxes_server_idx",
+ "columns": [
+ {
+ "expression": "server_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_status_idx": {
+ "name": "supply_boxes_status_idx",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_source_event_idx": {
+ "name": "supply_boxes_source_event_idx",
+ "columns": [
+ {
+ "expression": "source_event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_updated_at_idx": {
+ "name": "supply_boxes_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "supply_boxes_created_at_idx": {
+ "name": "supply_boxes_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "supply_boxes_server_id_game_servers_id_fk": {
+ "name": "supply_boxes_server_id_game_servers_id_fk",
+ "tableFrom": "supply_boxes",
+ "tableTo": "game_servers",
+ "columnsFrom": [
+ "server_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "supply_boxes_source_event_id_arma_sync_events_id_fk": {
+ "name": "supply_boxes_source_event_id_arma_sync_events_id_fk",
+ "tableFrom": "supply_boxes",
+ "tableTo": "arma_sync_events",
+ "columnsFrom": [
+ "source_event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_events": {
+ "name": "operation_events",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "source_event_id": {
+ "name": "source_event_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "event_id": {
+ "name": "event_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "operation_id": {
+ "name": "operation_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "version": {
+ "name": "version",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_operation_events_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'validated'"
+ },
+ "error": {
+ "name": "error",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payload_hash": {
+ "name": "payload_hash",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "actor_id": {
+ "name": "actor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "server_id": {
+ "name": "server_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mission_id": {
+ "name": "mission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "occurred_at": {
+ "name": "occurred_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "validated_at": {
+ "name": "validated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reconciliation_notes": {
+ "name": "reconciliation_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": {
+ "operation_events_source_event_idx": {
+ "name": "operation_events_source_event_idx",
+ "columns": [
+ {
+ "expression": "source_event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_event_id_idx": {
+ "name": "operation_events_event_id_idx",
+ "columns": [
+ {
+ "expression": "event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_operation_id_idx": {
+ "name": "operation_events_operation_id_idx",
+ "columns": [
+ {
+ "expression": "operation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_type_idx": {
+ "name": "operation_events_type_idx",
+ "columns": [
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_actor_idx": {
+ "name": "operation_events_actor_idx",
+ "columns": [
+ {
+ "expression": "actor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_server_idx": {
+ "name": "operation_events_server_idx",
+ "columns": [
+ {
+ "expression": "server_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_mission_idx": {
+ "name": "operation_events_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_updated_at_idx": {
+ "name": "operation_events_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_events_created_at_idx": {
+ "name": "operation_events_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_events_source_event_id_arma_sync_events_id_fk": {
+ "name": "operation_events_source_event_id_arma_sync_events_id_fk",
+ "tableFrom": "operation_events",
+ "tableTo": "arma_sync_events",
+ "columnsFrom": [
+ "source_event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_events_actor_id_users_id_fk": {
+ "name": "operation_events_actor_id_users_id_fk",
+ "tableFrom": "operation_events",
+ "tableTo": "users",
+ "columnsFrom": [
+ "actor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_events_server_id_game_servers_id_fk": {
+ "name": "operation_events_server_id_game_servers_id_fk",
+ "tableFrom": "operation_events",
+ "tableTo": "game_servers",
+ "columnsFrom": [
+ "server_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_events_mission_id_missions_id_fk": {
+ "name": "operation_events_mission_id_missions_id_fk",
+ "tableFrom": "operation_events",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_effects": {
+ "name": "operation_effects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "operation_event_id": {
+ "name": "operation_event_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "source_event_id": {
+ "name": "source_event_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "operation_id": {
+ "name": "operation_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "effect_key": {
+ "name": "effect_key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "effect_type": {
+ "name": "effect_type",
+ "type": "enum_operation_effects_effect_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_operation_effects_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'applied'"
+ },
+ "payload": {
+ "name": "payload",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reversal_of_id": {
+ "name": "reversal_of_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reversed_by_id": {
+ "name": "reversed_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reconciliation_notes": {
+ "name": "reconciliation_notes",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "applied_at": {
+ "name": "applied_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": {
+ "operation_effects_operation_event_idx": {
+ "name": "operation_effects_operation_event_idx",
+ "columns": [
+ {
+ "expression": "operation_event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_source_event_idx": {
+ "name": "operation_effects_source_event_idx",
+ "columns": [
+ {
+ "expression": "source_event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_operation_id_idx": {
+ "name": "operation_effects_operation_id_idx",
+ "columns": [
+ {
+ "expression": "operation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_effect_key_idx": {
+ "name": "operation_effects_effect_key_idx",
+ "columns": [
+ {
+ "expression": "effect_key",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_reversal_of_idx": {
+ "name": "operation_effects_reversal_of_idx",
+ "columns": [
+ {
+ "expression": "reversal_of_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_reversed_by_idx": {
+ "name": "operation_effects_reversed_by_idx",
+ "columns": [
+ {
+ "expression": "reversed_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_updated_at_idx": {
+ "name": "operation_effects_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_effects_created_at_idx": {
+ "name": "operation_effects_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_effects_operation_event_id_operation_events_id_fk": {
+ "name": "operation_effects_operation_event_id_operation_events_id_fk",
+ "tableFrom": "operation_effects",
+ "tableTo": "operation_events",
+ "columnsFrom": [
+ "operation_event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_effects_source_event_id_arma_sync_events_id_fk": {
+ "name": "operation_effects_source_event_id_arma_sync_events_id_fk",
+ "tableFrom": "operation_effects",
+ "tableTo": "arma_sync_events",
+ "columnsFrom": [
+ "source_event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_effects_reversal_of_id_operation_effects_id_fk": {
+ "name": "operation_effects_reversal_of_id_operation_effects_id_fk",
+ "tableFrom": "operation_effects",
+ "tableTo": "operation_effects",
+ "columnsFrom": [
+ "reversal_of_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_effects_reversed_by_id_operation_effects_id_fk": {
+ "name": "operation_effects_reversed_by_id_operation_effects_id_fk",
+ "tableFrom": "operation_effects",
+ "tableTo": "operation_effects",
+ "columnsFrom": [
+ "reversed_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_reservations_personnel": {
+ "name": "operation_reservations_personnel",
+ "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
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slot": {
+ "name": "slot",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "operation_reservations_personnel_order_idx": {
+ "name": "operation_reservations_personnel_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_personnel_parent_id_idx": {
+ "name": "operation_reservations_personnel_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_personnel_user_idx": {
+ "name": "operation_reservations_personnel_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_reservations_personnel_user_id_users_id_fk": {
+ "name": "operation_reservations_personnel_user_id_users_id_fk",
+ "tableFrom": "operation_reservations_personnel",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_personnel_parent_id_fk": {
+ "name": "operation_reservations_personnel_parent_id_fk",
+ "tableFrom": "operation_reservations_personnel",
+ "tableTo": "operation_reservations",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_reservations_vehicles": {
+ "name": "operation_reservations_vehicles",
+ "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
+ },
+ "vehicle_id": {
+ "name": "vehicle_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "operation_reservations_vehicles_order_idx": {
+ "name": "operation_reservations_vehicles_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_vehicles_parent_id_idx": {
+ "name": "operation_reservations_vehicles_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_vehicles_vehicle_idx": {
+ "name": "operation_reservations_vehicles_vehicle_idx",
+ "columns": [
+ {
+ "expression": "vehicle_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk": {
+ "name": "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk",
+ "tableFrom": "operation_reservations_vehicles",
+ "tableTo": "game_vehicles",
+ "columnsFrom": [
+ "vehicle_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_vehicles_parent_id_fk": {
+ "name": "operation_reservations_vehicles_parent_id_fk",
+ "tableFrom": "operation_reservations_vehicles",
+ "tableTo": "operation_reservations",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_reservations_cargo": {
+ "name": "operation_reservations_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
+ },
+ "resource_id": {
+ "name": "resource_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "amount": {
+ "name": "amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "operation_reservations_cargo_order_idx": {
+ "name": "operation_reservations_cargo_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_cargo_parent_id_idx": {
+ "name": "operation_reservations_cargo_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_cargo_resource_idx": {
+ "name": "operation_reservations_cargo_resource_idx",
+ "columns": [
+ {
+ "expression": "resource_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_reservations_cargo_resource_id_resources_id_fk": {
+ "name": "operation_reservations_cargo_resource_id_resources_id_fk",
+ "tableFrom": "operation_reservations_cargo",
+ "tableTo": "resources",
+ "columnsFrom": [
+ "resource_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_cargo_parent_id_fk": {
+ "name": "operation_reservations_cargo_parent_id_fk",
+ "tableFrom": "operation_reservations_cargo",
+ "tableTo": "operation_reservations",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_reservations": {
+ "name": "operation_reservations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "reservation_key": {
+ "name": "reservation_key",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "operation_id": {
+ "name": "operation_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mission_id": {
+ "name": "mission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "enum_operation_reservations_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'reserved'"
+ },
+ "budget_account_id": {
+ "name": "budget_account_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "budget_amount": {
+ "name": "budget_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "origin_id": {
+ "name": "origin_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "destination_id": {
+ "name": "destination_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "settled_at": {
+ "name": "settled_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "settled_by_effect_id": {
+ "name": "settled_by_effect_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "settlement": {
+ "name": "settlement",
+ "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": {
+ "operation_reservations_reservation_key_idx": {
+ "name": "operation_reservations_reservation_key_idx",
+ "columns": [
+ {
+ "expression": "reservation_key",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_operation_id_idx": {
+ "name": "operation_reservations_operation_id_idx",
+ "columns": [
+ {
+ "expression": "operation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_mission_idx": {
+ "name": "operation_reservations_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_budget_budget_account_idx": {
+ "name": "operation_reservations_budget_budget_account_idx",
+ "columns": [
+ {
+ "expression": "budget_account_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_origin_idx": {
+ "name": "operation_reservations_origin_idx",
+ "columns": [
+ {
+ "expression": "origin_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_destination_idx": {
+ "name": "operation_reservations_destination_idx",
+ "columns": [
+ {
+ "expression": "destination_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_created_by_idx": {
+ "name": "operation_reservations_created_by_idx",
+ "columns": [
+ {
+ "expression": "created_by_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_settled_by_effect_idx": {
+ "name": "operation_reservations_settled_by_effect_idx",
+ "columns": [
+ {
+ "expression": "settled_by_effect_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_updated_at_idx": {
+ "name": "operation_reservations_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_reservations_created_at_idx": {
+ "name": "operation_reservations_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "operation_reservations_mission_id_missions_id_fk": {
+ "name": "operation_reservations_mission_id_missions_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_budget_account_id_bank_accounts_id_fk": {
+ "name": "operation_reservations_budget_account_id_bank_accounts_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "bank_accounts",
+ "columnsFrom": [
+ "budget_account_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_origin_id_game_structures_id_fk": {
+ "name": "operation_reservations_origin_id_game_structures_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "origin_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_destination_id_game_structures_id_fk": {
+ "name": "operation_reservations_destination_id_game_structures_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "game_structures",
+ "columnsFrom": [
+ "destination_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_created_by_id_users_id_fk": {
+ "name": "operation_reservations_created_by_id_users_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "operation_reservations_settled_by_effect_id_operation_effects_id_fk": {
+ "name": "operation_reservations_settled_by_effect_id_operation_effects_id_fk",
+ "tableFrom": "operation_reservations",
+ "tableTo": "operation_effects",
+ "columnsFrom": [
+ "settled_by_effect_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.operation_readiness": {
+ "name": "operation_readiness",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "subject_type": {
+ "name": "subject_type",
+ "type": "enum_operation_readiness_subject_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject_id": {
+ "name": "subject_id",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subject_label": {
+ "name": "subject_label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "window_start": {
+ "name": "window_start",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "window_end": {
+ "name": "window_end",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "window_label": {
+ "name": "window_label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_id": {
+ "name": "operation_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "calculation_version": {
+ "name": "calculation_version",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1.0.0'"
+ },
+ "nature": {
+ "name": "nature",
+ "type": "enum_operation_readiness_nature",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'advisory'"
+ },
+ "readiness_score": {
+ "name": "readiness_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "planning_confidence_score": {
+ "name": "planning_confidence_score",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contributing_categories": {
+ "name": "contributing_categories",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "input_count": {
+ "name": "input_count",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "explanation": {
+ "name": "explanation",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "recomputed_at": {
+ "name": "recomputed_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": {
+ "operation_readiness_updated_at_idx": {
+ "name": "operation_readiness_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "operation_readiness_created_at_idx": {
+ "name": "operation_readiness_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.zone_pressure": {
+ "name": "zone_pressure",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "zone_id": {
+ "name": "zone_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "faction_id": {
+ "name": "faction_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_id": {
+ "name": "operation_id",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mission_id": {
+ "name": "mission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_effect_id": {
+ "name": "source_effect_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "delta": {
+ "name": "delta",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "note": {
+ "name": "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()"
+ }
+ },
+ "indexes": {
+ "zone_pressure_zone_idx": {
+ "name": "zone_pressure_zone_idx",
+ "columns": [
+ {
+ "expression": "zone_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_faction_idx": {
+ "name": "zone_pressure_faction_idx",
+ "columns": [
+ {
+ "expression": "faction_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_operation_id_idx": {
+ "name": "zone_pressure_operation_id_idx",
+ "columns": [
+ {
+ "expression": "operation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_mission_idx": {
+ "name": "zone_pressure_mission_idx",
+ "columns": [
+ {
+ "expression": "mission_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_source_effect_idx": {
+ "name": "zone_pressure_source_effect_idx",
+ "columns": [
+ {
+ "expression": "source_effect_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_updated_at_idx": {
+ "name": "zone_pressure_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "zone_pressure_created_at_idx": {
+ "name": "zone_pressure_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "zone_pressure_zone_id_map_zones_id_fk": {
+ "name": "zone_pressure_zone_id_map_zones_id_fk",
+ "tableFrom": "zone_pressure",
+ "tableTo": "map_zones",
+ "columnsFrom": [
+ "zone_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "zone_pressure_faction_id_factions_id_fk": {
+ "name": "zone_pressure_faction_id_factions_id_fk",
+ "tableFrom": "zone_pressure",
+ "tableTo": "factions",
+ "columnsFrom": [
+ "faction_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "zone_pressure_mission_id_missions_id_fk": {
+ "name": "zone_pressure_mission_id_missions_id_fk",
+ "tableFrom": "zone_pressure",
+ "tableTo": "missions",
+ "columnsFrom": [
+ "mission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "zone_pressure_source_effect_id_operation_effects_id_fk": {
+ "name": "zone_pressure_source_effect_id_operation_effects_id_fk",
+ "tableFrom": "zone_pressure",
+ "tableTo": "operation_effects",
+ "columnsFrom": [
+ "source_effect_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.forms_blocks_checkbox": {
+ "name": "forms_blocks_checkbox",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_checkbox_order_idx": {
+ "name": "forms_blocks_checkbox_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_checkbox_parent_id_idx": {
+ "name": "forms_blocks_checkbox_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_checkbox_path_idx": {
+ "name": "forms_blocks_checkbox_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_checkbox_parent_id_fk": {
+ "name": "forms_blocks_checkbox_parent_id_fk",
+ "tableFrom": "forms_blocks_checkbox",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_country": {
+ "name": "forms_blocks_country",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_country_order_idx": {
+ "name": "forms_blocks_country_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_country_parent_id_idx": {
+ "name": "forms_blocks_country_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_country_path_idx": {
+ "name": "forms_blocks_country_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_country_parent_id_fk": {
+ "name": "forms_blocks_country_parent_id_fk",
+ "tableFrom": "forms_blocks_country",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_email": {
+ "name": "forms_blocks_email",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_email_order_idx": {
+ "name": "forms_blocks_email_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_email_parent_id_idx": {
+ "name": "forms_blocks_email_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_email_path_idx": {
+ "name": "forms_blocks_email_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_email_parent_id_fk": {
+ "name": "forms_blocks_email_parent_id_fk",
+ "tableFrom": "forms_blocks_email",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_message": {
+ "name": "forms_blocks_message",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "message": {
+ "name": "message",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_message_order_idx": {
+ "name": "forms_blocks_message_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_message_parent_id_idx": {
+ "name": "forms_blocks_message_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_message_path_idx": {
+ "name": "forms_blocks_message_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_message_parent_id_fk": {
+ "name": "forms_blocks_message_parent_id_fk",
+ "tableFrom": "forms_blocks_message",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_number": {
+ "name": "forms_blocks_number",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_number_order_idx": {
+ "name": "forms_blocks_number_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_number_parent_id_idx": {
+ "name": "forms_blocks_number_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_number_path_idx": {
+ "name": "forms_blocks_number_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_number_parent_id_fk": {
+ "name": "forms_blocks_number_parent_id_fk",
+ "tableFrom": "forms_blocks_number",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_select_options": {
+ "name": "forms_blocks_select_options",
+ "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
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "forms_blocks_select_options_order_idx": {
+ "name": "forms_blocks_select_options_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_select_options_parent_id_idx": {
+ "name": "forms_blocks_select_options_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_select_options_parent_id_fk": {
+ "name": "forms_blocks_select_options_parent_id_fk",
+ "tableFrom": "forms_blocks_select_options",
+ "tableTo": "forms_blocks_select",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_select": {
+ "name": "forms_blocks_select",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "placeholder": {
+ "name": "placeholder",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_select_order_idx": {
+ "name": "forms_blocks_select_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_select_parent_id_idx": {
+ "name": "forms_blocks_select_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_select_path_idx": {
+ "name": "forms_blocks_select_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_select_parent_id_fk": {
+ "name": "forms_blocks_select_parent_id_fk",
+ "tableFrom": "forms_blocks_select",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_state": {
+ "name": "forms_blocks_state",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_state_order_idx": {
+ "name": "forms_blocks_state_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_state_parent_id_idx": {
+ "name": "forms_blocks_state_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_state_path_idx": {
+ "name": "forms_blocks_state_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_state_parent_id_fk": {
+ "name": "forms_blocks_state_parent_id_fk",
+ "tableFrom": "forms_blocks_state",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_text": {
+ "name": "forms_blocks_text",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_text_order_idx": {
+ "name": "forms_blocks_text_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_text_parent_id_idx": {
+ "name": "forms_blocks_text_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_text_path_idx": {
+ "name": "forms_blocks_text_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_text_parent_id_fk": {
+ "name": "forms_blocks_text_parent_id_fk",
+ "tableFrom": "forms_blocks_text",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_textarea": {
+ "name": "forms_blocks_textarea",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_textarea_order_idx": {
+ "name": "forms_blocks_textarea_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_textarea_parent_id_idx": {
+ "name": "forms_blocks_textarea_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_textarea_path_idx": {
+ "name": "forms_blocks_textarea_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_textarea_parent_id_fk": {
+ "name": "forms_blocks_textarea_parent_id_fk",
+ "tableFrom": "forms_blocks_textarea",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_radio_options": {
+ "name": "forms_blocks_radio_options",
+ "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
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "forms_blocks_radio_options_order_idx": {
+ "name": "forms_blocks_radio_options_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_radio_options_parent_id_idx": {
+ "name": "forms_blocks_radio_options_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_radio_options_parent_id_fk": {
+ "name": "forms_blocks_radio_options_parent_id_fk",
+ "tableFrom": "forms_blocks_radio_options",
+ "tableTo": "forms_blocks_radio",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_radio": {
+ "name": "forms_blocks_radio",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_radio_order_idx": {
+ "name": "forms_blocks_radio_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_radio_parent_id_idx": {
+ "name": "forms_blocks_radio_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_radio_path_idx": {
+ "name": "forms_blocks_radio_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_radio_parent_id_fk": {
+ "name": "forms_blocks_radio_parent_id_fk",
+ "tableFrom": "forms_blocks_radio",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_blocks_date": {
+ "name": "forms_blocks_date",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "required": {
+ "name": "required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_blocks_date_order_idx": {
+ "name": "forms_blocks_date_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_date_parent_id_idx": {
+ "name": "forms_blocks_date_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_blocks_date_path_idx": {
+ "name": "forms_blocks_date_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_blocks_date_parent_id_fk": {
+ "name": "forms_blocks_date_parent_id_fk",
+ "tableFrom": "forms_blocks_date",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms_emails": {
+ "name": "forms_emails",
+ "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
+ },
+ "email_to": {
+ "name": "email_to",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cc": {
+ "name": "cc",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bcc": {
+ "name": "bcc",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reply_to": {
+ "name": "reply_to",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email_from": {
+ "name": "email_from",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subject": {
+ "name": "subject",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'You''ve received a new message.'"
+ },
+ "message": {
+ "name": "message",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_emails_order_idx": {
+ "name": "forms_emails_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_emails_parent_id_idx": {
+ "name": "forms_emails_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_emails_parent_id_fk": {
+ "name": "forms_emails_parent_id_fk",
+ "tableFrom": "forms_emails",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms": {
+ "name": "forms",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "submit_button_label": {
+ "name": "submit_button_label",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmation_type": {
+ "name": "confirmation_type",
+ "type": "enum_forms_confirmation_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'message'"
+ },
+ "confirmation_message": {
+ "name": "confirmation_message",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "redirect_url": {
+ "name": "redirect_url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "active_from": {
+ "name": "active_from",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "active_until": {
+ "name": "active_until",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "targeting_audience": {
+ "name": "targeting_audience",
+ "type": "enum_forms_targeting_audience",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'all'"
+ },
+ "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": {
+ "forms_updated_at_idx": {
+ "name": "forms_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_created_at_idx": {
+ "name": "forms_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.forms_rels": {
+ "name": "forms_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
+ },
+ "roles_id": {
+ "name": "roles_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qualifications_id": {
+ "name": "qualifications_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "forms_rels_order_idx": {
+ "name": "forms_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_rels_parent_idx": {
+ "name": "forms_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_rels_path_idx": {
+ "name": "forms_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_rels_users_id_idx": {
+ "name": "forms_rels_users_id_idx",
+ "columns": [
+ {
+ "expression": "users_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_rels_roles_id_idx": {
+ "name": "forms_rels_roles_id_idx",
+ "columns": [
+ {
+ "expression": "roles_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "forms_rels_qualifications_id_idx": {
+ "name": "forms_rels_qualifications_id_idx",
+ "columns": [
+ {
+ "expression": "qualifications_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_rels_parent_fk": {
+ "name": "forms_rels_parent_fk",
+ "tableFrom": "forms_rels",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "forms_rels_users_fk": {
+ "name": "forms_rels_users_fk",
+ "tableFrom": "forms_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "forms_rels_roles_fk": {
+ "name": "forms_rels_roles_fk",
+ "tableFrom": "forms_rels",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "roles_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "forms_rels_qualifications_fk": {
+ "name": "forms_rels_qualifications_fk",
+ "tableFrom": "forms_rels",
+ "tableTo": "qualifications",
+ "columnsFrom": [
+ "qualifications_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_submissions_submission_data": {
+ "name": "form_submissions_submission_data",
+ "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
+ },
+ "field": {
+ "name": "field",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "form_submissions_submission_data_order_idx": {
+ "name": "form_submissions_submission_data_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "form_submissions_submission_data_parent_id_idx": {
+ "name": "form_submissions_submission_data_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "form_submissions_submission_data_parent_id_fk": {
+ "name": "form_submissions_submission_data_parent_id_fk",
+ "tableFrom": "form_submissions_submission_data",
+ "tableTo": "form_submissions",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_submissions": {
+ "name": "form_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "form_id": {
+ "name": "form_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_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": {
+ "form_submissions_form_idx": {
+ "name": "form_submissions_form_idx",
+ "columns": [
+ {
+ "expression": "form_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "form_submissions_user_idx": {
+ "name": "form_submissions_user_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "form_submissions_updated_at_idx": {
+ "name": "form_submissions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "form_submissions_created_at_idx": {
+ "name": "form_submissions_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "form_submissions_form_id_forms_id_fk": {
+ "name": "form_submissions_form_id_forms_id_fk",
+ "tableFrom": "form_submissions",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "form_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "form_submissions_user_id_users_id_fk": {
+ "name": "form_submissions_user_id_users_id_fk",
+ "tableFrom": "form_submissions",
+ "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'"
+ },
+ "gemma_4_settings_model": {
+ "name": "gemma_4_settings_model",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'unsloth/gemma-4-26B-A4B-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
+ },
+ "media_find": {
+ "name": "media_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "media_create": {
+ "name": "media_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "media_update": {
+ "name": "media_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "media_delete": {
+ "name": "media_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "announcements_find": {
+ "name": "announcements_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "announcements_create": {
+ "name": "announcements_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "announcements_update": {
+ "name": "announcements_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "announcements_delete": {
+ "name": "announcements_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_hard_resources_find": {
+ "name": "game_hard_resources_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_hard_resources_create": {
+ "name": "game_hard_resources_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_hard_resources_update": {
+ "name": "game_hard_resources_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_hard_resources_delete": {
+ "name": "game_hard_resources_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_structures_find": {
+ "name": "game_structures_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_structures_create": {
+ "name": "game_structures_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_structures_update": {
+ "name": "game_structures_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_structures_delete": {
+ "name": "game_structures_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_vehicles_find": {
+ "name": "game_vehicles_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_vehicles_create": {
+ "name": "game_vehicles_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_vehicles_update": {
+ "name": "game_vehicles_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_vehicles_delete": {
+ "name": "game_vehicles_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_npcs_find": {
+ "name": "game_npcs_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_npcs_create": {
+ "name": "game_npcs_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_npcs_update": {
+ "name": "game_npcs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_npcs_delete": {
+ "name": "game_npcs_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "npc_staffing_find": {
+ "name": "npc_staffing_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "npc_staffing_create": {
+ "name": "npc_staffing_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "npc_staffing_update": {
+ "name": "npc_staffing_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "npc_staffing_delete": {
+ "name": "npc_staffing_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labor_classifications_find": {
+ "name": "labor_classifications_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labor_classifications_create": {
+ "name": "labor_classifications_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labor_classifications_update": {
+ "name": "labor_classifications_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labor_classifications_delete": {
+ "name": "labor_classifications_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_event_logs_find": {
+ "name": "game_event_logs_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_event_logs_create": {
+ "name": "game_event_logs_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_event_logs_update": {
+ "name": "game_event_logs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_event_logs_delete": {
+ "name": "game_event_logs_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "users_find": {
+ "name": "users_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "users_create": {
+ "name": "users_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "users_update": {
+ "name": "users_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "users_delete": {
+ "name": "users_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "roles_find": {
+ "name": "roles_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "roles_create": {
+ "name": "roles_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "roles_update": {
+ "name": "roles_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "roles_delete": {
+ "name": "roles_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ranks_find": {
+ "name": "ranks_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ranks_create": {
+ "name": "ranks_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ranks_update": {
+ "name": "ranks_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ranks_delete": {
+ "name": "ranks_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "profiles_find": {
+ "name": "profiles_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "profiles_create": {
+ "name": "profiles_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "profiles_update": {
+ "name": "profiles_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "profiles_delete": {
+ "name": "profiles_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "awards_find": {
+ "name": "awards_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "awards_create": {
+ "name": "awards_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "awards_update": {
+ "name": "awards_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "awards_delete": {
+ "name": "awards_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "qualifications_find": {
+ "name": "qualifications_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "qualifications_create": {
+ "name": "qualifications_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "qualifications_update": {
+ "name": "qualifications_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "qualifications_delete": {
+ "name": "qualifications_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignments_find": {
+ "name": "assignments_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignments_create": {
+ "name": "assignments_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignments_update": {
+ "name": "assignments_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignments_delete": {
+ "name": "assignments_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignment_transfers_find": {
+ "name": "assignment_transfers_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignment_transfers_create": {
+ "name": "assignment_transfers_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignment_transfers_update": {
+ "name": "assignment_transfers_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assignment_transfers_delete": {
+ "name": "assignment_transfers_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "experience_find": {
+ "name": "experience_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "experience_create": {
+ "name": "experience_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "experience_update": {
+ "name": "experience_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "experience_delete": {
+ "name": "experience_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "user_notifications_find": {
+ "name": "user_notifications_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "user_notifications_create": {
+ "name": "user_notifications_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "user_notifications_update": {
+ "name": "user_notifications_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "user_notifications_delete": {
+ "name": "user_notifications_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "evaluations_find": {
+ "name": "evaluations_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "evaluations_create": {
+ "name": "evaluations_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "evaluations_update": {
+ "name": "evaluations_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "evaluations_delete": {
+ "name": "evaluations_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ribbon_submissions_find": {
+ "name": "ribbon_submissions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ribbon_submissions_create": {
+ "name": "ribbon_submissions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ribbon_submissions_update": {
+ "name": "ribbon_submissions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ribbon_submissions_delete": {
+ "name": "ribbon_submissions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "missions_find": {
+ "name": "missions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "missions_create": {
+ "name": "missions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "missions_update": {
+ "name": "missions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "missions_delete": {
+ "name": "missions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_attendances_find": {
+ "name": "mission_attendances_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_attendances_create": {
+ "name": "mission_attendances_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_attendances_update": {
+ "name": "mission_attendances_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_attendances_delete": {
+ "name": "mission_attendances_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_role_signups_find": {
+ "name": "mission_role_signups_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_role_signups_create": {
+ "name": "mission_role_signups_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_role_signups_update": {
+ "name": "mission_role_signups_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_role_signups_delete": {
+ "name": "mission_role_signups_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "campaigns_find": {
+ "name": "campaigns_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "campaigns_create": {
+ "name": "campaigns_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "campaigns_update": {
+ "name": "campaigns_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "campaigns_delete": {
+ "name": "campaigns_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "factions_find": {
+ "name": "factions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "factions_create": {
+ "name": "factions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "factions_update": {
+ "name": "factions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "factions_delete": {
+ "name": "factions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "technologies_find": {
+ "name": "technologies_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "technologies_create": {
+ "name": "technologies_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "technologies_update": {
+ "name": "technologies_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "technologies_delete": {
+ "name": "technologies_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assets_find": {
+ "name": "assets_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assets_create": {
+ "name": "assets_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assets_update": {
+ "name": "assets_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "assets_delete": {
+ "name": "assets_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resources_find": {
+ "name": "resources_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resources_create": {
+ "name": "resources_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resources_update": {
+ "name": "resources_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resources_delete": {
+ "name": "resources_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "vehicles_find": {
+ "name": "vehicles_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "vehicles_create": {
+ "name": "vehicles_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "vehicles_update": {
+ "name": "vehicles_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "vehicles_delete": {
+ "name": "vehicles_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "structures_find": {
+ "name": "structures_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "structures_create": {
+ "name": "structures_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "structures_update": {
+ "name": "structures_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "structures_delete": {
+ "name": "structures_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "shipments_find": {
+ "name": "shipments_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "shipments_create": {
+ "name": "shipments_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "shipments_update": {
+ "name": "shipments_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "shipments_delete": {
+ "name": "shipments_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_accounts_find": {
+ "name": "bank_accounts_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_accounts_create": {
+ "name": "bank_accounts_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_accounts_update": {
+ "name": "bank_accounts_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_accounts_delete": {
+ "name": "bank_accounts_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_transactions_find": {
+ "name": "bank_transactions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_transactions_create": {
+ "name": "bank_transactions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_transactions_update": {
+ "name": "bank_transactions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "bank_transactions_delete": {
+ "name": "bank_transactions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ledger_entries_find": {
+ "name": "ledger_entries_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ledger_entries_create": {
+ "name": "ledger_entries_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ledger_entries_update": {
+ "name": "ledger_entries_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ledger_entries_delete": {
+ "name": "ledger_entries_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "locker_storages_find": {
+ "name": "locker_storages_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "locker_storages_create": {
+ "name": "locker_storages_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "locker_storages_update": {
+ "name": "locker_storages_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "locker_storages_delete": {
+ "name": "locker_storages_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "loadouts_find": {
+ "name": "loadouts_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "loadouts_create": {
+ "name": "loadouts_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "loadouts_update": {
+ "name": "loadouts_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "loadouts_delete": {
+ "name": "loadouts_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_listings_find": {
+ "name": "market_listings_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_listings_create": {
+ "name": "market_listings_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_listings_update": {
+ "name": "market_listings_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_listings_delete": {
+ "name": "market_listings_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_negotiations_find": {
+ "name": "market_negotiations_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_negotiations_create": {
+ "name": "market_negotiations_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_negotiations_update": {
+ "name": "market_negotiations_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_negotiations_delete": {
+ "name": "market_negotiations_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_state_find": {
+ "name": "market_state_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_state_create": {
+ "name": "market_state_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_state_update": {
+ "name": "market_state_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "market_state_delete": {
+ "name": "market_state_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_scripts_find": {
+ "name": "voice_scripts_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_scripts_create": {
+ "name": "voice_scripts_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_scripts_update": {
+ "name": "voice_scripts_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_scripts_delete": {
+ "name": "voice_scripts_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_submissions_find": {
+ "name": "voice_submissions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_submissions_create": {
+ "name": "voice_submissions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_submissions_update": {
+ "name": "voice_submissions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "voice_submissions_delete": {
+ "name": "voice_submissions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "tickets_find": {
+ "name": "tickets_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "tickets_create": {
+ "name": "tickets_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "tickets_update": {
+ "name": "tickets_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "tickets_delete": {
+ "name": "tickets_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ticket_votes_find": {
+ "name": "ticket_votes_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ticket_votes_create": {
+ "name": "ticket_votes_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ticket_votes_update": {
+ "name": "ticket_votes_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "ticket_votes_delete": {
+ "name": "ticket_votes_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_pages_find": {
+ "name": "wiki_pages_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_pages_create": {
+ "name": "wiki_pages_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_pages_update": {
+ "name": "wiki_pages_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_pages_delete": {
+ "name": "wiki_pages_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_revisions_find": {
+ "name": "wiki_revisions_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_revisions_create": {
+ "name": "wiki_revisions_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_revisions_update": {
+ "name": "wiki_revisions_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_revisions_delete": {
+ "name": "wiki_revisions_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_templates_find": {
+ "name": "wiki_templates_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_templates_create": {
+ "name": "wiki_templates_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_templates_update": {
+ "name": "wiki_templates_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "wiki_templates_delete": {
+ "name": "wiki_templates_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "projects_find": {
+ "name": "projects_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "projects_create": {
+ "name": "projects_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "projects_update": {
+ "name": "projects_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "projects_delete": {
+ "name": "projects_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sprints_find": {
+ "name": "sprints_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sprints_create": {
+ "name": "sprints_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sprints_update": {
+ "name": "sprints_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sprints_delete": {
+ "name": "sprints_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "releases_find": {
+ "name": "releases_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "releases_create": {
+ "name": "releases_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "releases_update": {
+ "name": "releases_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "releases_delete": {
+ "name": "releases_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labels_find": {
+ "name": "labels_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labels_create": {
+ "name": "labels_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labels_update": {
+ "name": "labels_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "labels_delete": {
+ "name": "labels_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "maps_find": {
+ "name": "maps_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "maps_create": {
+ "name": "maps_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "maps_update": {
+ "name": "maps_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "maps_delete": {
+ "name": "maps_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_roads_find": {
+ "name": "map_roads_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_roads_create": {
+ "name": "map_roads_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_roads_update": {
+ "name": "map_roads_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_roads_delete": {
+ "name": "map_roads_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_zones_find": {
+ "name": "map_zones_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_zones_create": {
+ "name": "map_zones_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_zones_update": {
+ "name": "map_zones_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "map_zones_delete": {
+ "name": "map_zones_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resource_nodes_find": {
+ "name": "resource_nodes_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resource_nodes_create": {
+ "name": "resource_nodes_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resource_nodes_update": {
+ "name": "resource_nodes_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "resource_nodes_delete": {
+ "name": "resource_nodes_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "narrative_events_find": {
+ "name": "narrative_events_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "narrative_events_create": {
+ "name": "narrative_events_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "narrative_events_update": {
+ "name": "narrative_events_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "narrative_events_delete": {
+ "name": "narrative_events_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beats_find": {
+ "name": "story_beats_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beats_create": {
+ "name": "story_beats_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beats_update": {
+ "name": "story_beats_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beats_delete": {
+ "name": "story_beats_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beat_states_find": {
+ "name": "story_beat_states_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beat_states_create": {
+ "name": "story_beat_states_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beat_states_update": {
+ "name": "story_beat_states_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_beat_states_delete": {
+ "name": "story_beat_states_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_voiceovers_find": {
+ "name": "story_voiceovers_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_voiceovers_create": {
+ "name": "story_voiceovers_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_voiceovers_update": {
+ "name": "story_voiceovers_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "story_voiceovers_delete": {
+ "name": "story_voiceovers_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_files_find": {
+ "name": "mission_files_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_files_create": {
+ "name": "mission_files_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_files_update": {
+ "name": "mission_files_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mission_files_delete": {
+ "name": "mission_files_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mod_lists_find": {
+ "name": "mod_lists_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mod_lists_create": {
+ "name": "mod_lists_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mod_lists_update": {
+ "name": "mod_lists_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "mod_lists_delete": {
+ "name": "mod_lists_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_servers_find": {
+ "name": "game_servers_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_servers_create": {
+ "name": "game_servers_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_servers_update": {
+ "name": "game_servers_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "game_servers_delete": {
+ "name": "game_servers_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_sync_events_find": {
+ "name": "arma_sync_events_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_sync_events_create": {
+ "name": "arma_sync_events_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_sync_events_update": {
+ "name": "arma_sync_events_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_sync_events_delete": {
+ "name": "arma_sync_events_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_commands_find": {
+ "name": "arma_commands_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_commands_create": {
+ "name": "arma_commands_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_commands_update": {
+ "name": "arma_commands_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "arma_commands_delete": {
+ "name": "arma_commands_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "respawn_tickets_find": {
+ "name": "respawn_tickets_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "respawn_tickets_create": {
+ "name": "respawn_tickets_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "respawn_tickets_update": {
+ "name": "respawn_tickets_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "respawn_tickets_delete": {
+ "name": "respawn_tickets_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "supply_boxes_find": {
+ "name": "supply_boxes_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "supply_boxes_create": {
+ "name": "supply_boxes_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "supply_boxes_update": {
+ "name": "supply_boxes_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "supply_boxes_delete": {
+ "name": "supply_boxes_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_events_find": {
+ "name": "operation_events_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_events_create": {
+ "name": "operation_events_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_events_update": {
+ "name": "operation_events_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_events_delete": {
+ "name": "operation_events_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_effects_find": {
+ "name": "operation_effects_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_effects_create": {
+ "name": "operation_effects_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_effects_update": {
+ "name": "operation_effects_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_effects_delete": {
+ "name": "operation_effects_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_reservations_find": {
+ "name": "operation_reservations_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_reservations_create": {
+ "name": "operation_reservations_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_reservations_update": {
+ "name": "operation_reservations_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_reservations_delete": {
+ "name": "operation_reservations_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_readiness_find": {
+ "name": "operation_readiness_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_readiness_create": {
+ "name": "operation_readiness_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_readiness_update": {
+ "name": "operation_readiness_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "operation_readiness_delete": {
+ "name": "operation_readiness_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "zone_pressure_find": {
+ "name": "zone_pressure_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "zone_pressure_create": {
+ "name": "zone_pressure_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "zone_pressure_update": {
+ "name": "zone_pressure_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "zone_pressure_delete": {
+ "name": "zone_pressure_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefields_find": {
+ "name": "custom_minefields_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefields_create": {
+ "name": "custom_minefields_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefields_update": {
+ "name": "custom_minefields_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefields_delete": {
+ "name": "custom_minefields_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefield_scores_find": {
+ "name": "custom_minefield_scores_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefield_scores_create": {
+ "name": "custom_minefield_scores_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefield_scores_update": {
+ "name": "custom_minefield_scores_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_minefield_scores_delete": {
+ "name": "custom_minefield_scores_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_tests_find": {
+ "name": "custom_radio_tests_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_tests_create": {
+ "name": "custom_radio_tests_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_tests_update": {
+ "name": "custom_radio_tests_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_tests_delete": {
+ "name": "custom_radio_tests_delete",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_test_scores_find": {
+ "name": "custom_radio_test_scores_find",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_test_scores_create": {
+ "name": "custom_radio_test_scores_create",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_test_scores_update": {
+ "name": "custom_radio_test_scores_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "custom_radio_test_scores_delete": {
+ "name": "custom_radio_test_scores_delete",
+ "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()"
+ },
+ "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
+ },
+ "announcements_id": {
+ "name": "announcements_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
+ },
+ "ribbon_submissions_id": {
+ "name": "ribbon_submissions_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
+ },
+ "mission_role_signups_id": {
+ "name": "mission_role_signups_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
+ },
+ "map_roads_id": {
+ "name": "map_roads_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "map_zones_id": {
+ "name": "map_zones_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "resource_nodes_id": {
+ "name": "resource_nodes_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
+ },
+ "story_voiceovers_id": {
+ "name": "story_voiceovers_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
+ },
+ "respawn_tickets_id": {
+ "name": "respawn_tickets_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "supply_boxes_id": {
+ "name": "supply_boxes_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_events_id": {
+ "name": "operation_events_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_effects_id": {
+ "name": "operation_effects_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_reservations_id": {
+ "name": "operation_reservations_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "operation_readiness_id": {
+ "name": "operation_readiness_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "zone_pressure_id": {
+ "name": "zone_pressure_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
+ },
+ "forms_id": {
+ "name": "forms_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "form_submissions_id": {
+ "name": "form_submissions_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_announcements_id_idx": {
+ "name": "payload_locked_documents_rels_announcements_id_idx",
+ "columns": [
+ {
+ "expression": "announcements_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_ribbon_submissions_id_idx": {
+ "name": "payload_locked_documents_rels_ribbon_submissions_id_idx",
+ "columns": [
+ {
+ "expression": "ribbon_submissions_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_mission_role_signups_id_idx": {
+ "name": "payload_locked_documents_rels_mission_role_signups_id_idx",
+ "columns": [
+ {
+ "expression": "mission_role_signups_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_map_roads_id_idx": {
+ "name": "payload_locked_documents_rels_map_roads_id_idx",
+ "columns": [
+ {
+ "expression": "map_roads_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_map_zones_id_idx": {
+ "name": "payload_locked_documents_rels_map_zones_id_idx",
+ "columns": [
+ {
+ "expression": "map_zones_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_resource_nodes_id_idx": {
+ "name": "payload_locked_documents_rels_resource_nodes_id_idx",
+ "columns": [
+ {
+ "expression": "resource_nodes_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_story_voiceovers_id_idx": {
+ "name": "payload_locked_documents_rels_story_voiceovers_id_idx",
+ "columns": [
+ {
+ "expression": "story_voiceovers_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_respawn_tickets_id_idx": {
+ "name": "payload_locked_documents_rels_respawn_tickets_id_idx",
+ "columns": [
+ {
+ "expression": "respawn_tickets_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_supply_boxes_id_idx": {
+ "name": "payload_locked_documents_rels_supply_boxes_id_idx",
+ "columns": [
+ {
+ "expression": "supply_boxes_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_operation_events_id_idx": {
+ "name": "payload_locked_documents_rels_operation_events_id_idx",
+ "columns": [
+ {
+ "expression": "operation_events_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_operation_effects_id_idx": {
+ "name": "payload_locked_documents_rels_operation_effects_id_idx",
+ "columns": [
+ {
+ "expression": "operation_effects_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_operation_reservations_id_idx": {
+ "name": "payload_locked_documents_rels_operation_reservations_id_idx",
+ "columns": [
+ {
+ "expression": "operation_reservations_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_operation_readiness_id_idx": {
+ "name": "payload_locked_documents_rels_operation_readiness_id_idx",
+ "columns": [
+ {
+ "expression": "operation_readiness_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_zone_pressure_id_idx": {
+ "name": "payload_locked_documents_rels_zone_pressure_id_idx",
+ "columns": [
+ {
+ "expression": "zone_pressure_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_forms_id_idx": {
+ "name": "payload_locked_documents_rels_forms_id_idx",
+ "columns": [
+ {
+ "expression": "forms_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_form_submissions_id_idx": {
+ "name": "payload_locked_documents_rels_form_submissions_id_idx",
+ "columns": [
+ {
+ "expression": "form_submissions_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_announcements_fk": {
+ "name": "payload_locked_documents_rels_announcements_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "announcements",
+ "columnsFrom": [
+ "announcements_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_ribbon_submissions_fk": {
+ "name": "payload_locked_documents_rels_ribbon_submissions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "ribbon_submissions",
+ "columnsFrom": [
+ "ribbon_submissions_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_mission_role_signups_fk": {
+ "name": "payload_locked_documents_rels_mission_role_signups_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "mission_role_signups",
+ "columnsFrom": [
+ "mission_role_signups_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_map_roads_fk": {
+ "name": "payload_locked_documents_rels_map_roads_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "map_roads",
+ "columnsFrom": [
+ "map_roads_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_map_zones_fk": {
+ "name": "payload_locked_documents_rels_map_zones_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "map_zones",
+ "columnsFrom": [
+ "map_zones_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_resource_nodes_fk": {
+ "name": "payload_locked_documents_rels_resource_nodes_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "resource_nodes",
+ "columnsFrom": [
+ "resource_nodes_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_story_voiceovers_fk": {
+ "name": "payload_locked_documents_rels_story_voiceovers_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "story_voiceovers",
+ "columnsFrom": [
+ "story_voiceovers_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_respawn_tickets_fk": {
+ "name": "payload_locked_documents_rels_respawn_tickets_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "respawn_tickets",
+ "columnsFrom": [
+ "respawn_tickets_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_supply_boxes_fk": {
+ "name": "payload_locked_documents_rels_supply_boxes_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "supply_boxes",
+ "columnsFrom": [
+ "supply_boxes_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_operation_events_fk": {
+ "name": "payload_locked_documents_rels_operation_events_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "operation_events",
+ "columnsFrom": [
+ "operation_events_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_operation_effects_fk": {
+ "name": "payload_locked_documents_rels_operation_effects_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "operation_effects",
+ "columnsFrom": [
+ "operation_effects_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_operation_reservations_fk": {
+ "name": "payload_locked_documents_rels_operation_reservations_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "operation_reservations",
+ "columnsFrom": [
+ "operation_reservations_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_operation_readiness_fk": {
+ "name": "payload_locked_documents_rels_operation_readiness_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "operation_readiness",
+ "columnsFrom": [
+ "operation_readiness_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_zone_pressure_fk": {
+ "name": "payload_locked_documents_rels_zone_pressure_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "zone_pressure",
+ "columnsFrom": [
+ "zone_pressure_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_forms_fk": {
+ "name": "payload_locked_documents_rels_forms_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "forms_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_form_submissions_fk": {
+ "name": "payload_locked_documents_rels_form_submissions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "form_submissions",
+ "columnsFrom": [
+ "form_submissions_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_id": {
+ "name": "currency_symbol_id",
+ "type": "integer",
+ "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": 1000
+ },
+ "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
+ },
+ "zone_pressure_enabled": {
+ "name": "zone_pressure_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "statistics_enabled": {
+ "name": "statistics_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "helpdesk_enabled": {
+ "name": "helpdesk_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "game_rules_main_currency_idx": {
+ "name": "game_rules_main_currency_idx",
+ "columns": [
+ {
+ "expression": "main_currency_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "game_rules_currency_symbol_idx": {
+ "name": "game_rules_currency_symbol_idx",
+ "columns": [
+ {
+ "expression": "currency_symbol_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"
+ },
+ "game_rules_currency_symbol_id_media_id_fk": {
+ "name": "game_rules_currency_symbol_id_media_id_fk",
+ "tableFrom": "game_rules",
+ "tableTo": "media",
+ "columnsFrom": [
+ "currency_symbol_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_announcements_buttons_style": {
+ "name": "enum_announcements_buttons_style",
+ "schema": "public",
+ "values": [
+ "default",
+ "outline",
+ "destructive"
+ ]
+ },
+ "public.enum_announcements_variant": {
+ "name": "enum_announcements_variant",
+ "schema": "public",
+ "values": [
+ "info",
+ "success",
+ "warning",
+ "error"
+ ]
+ },
+ "public.enum_announcements_display_type": {
+ "name": "enum_announcements_display_type",
+ "schema": "public",
+ "values": [
+ "banner",
+ "modal",
+ "dialog",
+ "toast"
+ ]
+ },
+ "public.enum_announcements_targeting_audience": {
+ "name": "enum_announcements_targeting_audience",
+ "schema": "public",
+ "values": [
+ "all",
+ "users",
+ "roles"
+ ]
+ },
+ "public.enum_announcements_paths_match_type": {
+ "name": "enum_announcements_paths_match_type",
+ "schema": "public",
+ "values": [
+ "all",
+ "include",
+ "exclude"
+ ]
+ },
+ "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_structures_construction_status": {
+ "name": "enum_game_structures_construction_status",
+ "schema": "public",
+ "values": [
+ "awaiting_materials",
+ "building",
+ "complete"
+ ]
+ },
+ "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",
+ "ribbon-submissions"
+ ]
+ },
+ "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",
+ "poker:force-ended",
+ "poker:everyone-left",
+ "blackjack:force-ended",
+ "blackjack:everyone-left",
+ "mission:role-promoted"
+ ]
+ },
+ "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",
+ "poker:force-ended",
+ "poker:everyone-left",
+ "blackjack:force-ended",
+ "blackjack:everyone-left",
+ "mission:role-promoted"
+ ]
+ },
+ "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",
+ "mission-role-signups:create",
+ "mission-role-signups:read",
+ "mission-role-signups:update",
+ "mission-role-signups:delete",
+ "admin:mission-role-signups: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",
+ "maps:place",
+ "admin:maps:manage",
+ "map-roads:read",
+ "map-roads:author",
+ "admin:map-roads:manage",
+ "map-zones:read",
+ "map-zones:author",
+ "admin:map-zones:manage",
+ "resource-nodes:read",
+ "resource-nodes:author",
+ "admin:resource-nodes: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",
+ "respawn-tickets:create",
+ "respawn-tickets:read",
+ "respawn-tickets:update",
+ "respawn-tickets:delete",
+ "admin:respawn-tickets: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",
+ "operation-events:create",
+ "operation-events:read",
+ "operation-events:update",
+ "operation-events:delete",
+ "admin:operation-events:manage",
+ "operation-effects:create",
+ "operation-effects:read",
+ "operation-effects:update",
+ "operation-effects:delete",
+ "admin:operation-effects:manage",
+ "operation-reservations:create",
+ "operation-reservations:read",
+ "operation-reservations:update",
+ "operation-reservations:delete",
+ "admin:operation-reservations:manage",
+ "operation-readiness:create",
+ "operation-readiness:read",
+ "operation-readiness:update",
+ "operation-readiness:delete",
+ "admin:operation-readiness:manage",
+ "zone-pressure:create",
+ "zone-pressure:read",
+ "zone-pressure:update",
+ "zone-pressure:delete",
+ "admin:zone-pressure:manage",
+ "announcements:create",
+ "announcements:read",
+ "announcements:update",
+ "announcements:delete",
+ "admin:announcements:manage",
+ "forms:create",
+ "forms:read",
+ "forms:update",
+ "forms:delete",
+ "form-submissions:read",
+ "form-submissions:delete",
+ "admin:forms:manage",
+ "admin:form-submissions: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_ribbon_submissions_grantor_types": {
+ "name": "enum_ribbon_submissions_grantor_types",
+ "schema": "public",
+ "values": [
+ "division",
+ "squad",
+ "team",
+ "special"
+ ]
+ },
+ "public.enum_ribbon_submissions_status": {
+ "name": "enum_ribbon_submissions_status",
+ "schema": "public",
+ "values": [
+ "pending",
+ "approved",
+ "rejected"
+ ]
+ },
+ "public.enum_ribbon_submissions_recipient_scope": {
+ "name": "enum_ribbon_submissions_recipient_scope",
+ "schema": "public",
+ "values": [
+ "same_command",
+ "whitelist",
+ "anyone"
+ ]
+ },
+ "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_transport_mode": {
+ "name": "enum_vehicles_transport_mode",
+ "schema": "public",
+ "values": [
+ "ground",
+ "air",
+ "sea"
+ ]
+ },
+ "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_module_options_effects_type": {
+ "name": "enum_structures_module_options_effects_type",
+ "schema": "public",
+ "values": [
+ "capacity_mass",
+ "production_multiplier",
+ "storage_slots"
+ ]
+ },
+ "public.enum_structures_module_options_category": {
+ "name": "enum_structures_module_options_category",
+ "schema": "public",
+ "values": [
+ "production",
+ "logistics",
+ "defense",
+ "utility"
+ ]
+ },
+ "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_aura_effect_type": {
+ "name": "enum_structures_aura_effect_type",
+ "schema": "public",
+ "values": [
+ "production_multiplier",
+ "capacity_mass"
+ ]
+ },
+ "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": [
+ "draft",
+ "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",
+ "Documentation"
+ ]
+ },
+ "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_maps_ease_of_access": {
+ "name": "enum_maps_ease_of_access",
+ "schema": "public",
+ "values": [
+ "easy",
+ "moderate",
+ "difficult"
+ ]
+ },
+ "public.enum_maps_basemap_mode": {
+ "name": "enum_maps_basemap_mode",
+ "schema": "public",
+ "values": [
+ "image",
+ "tiles"
+ ]
+ },
+ "public.enum_map_roads_surface": {
+ "name": "enum_map_roads_surface",
+ "schema": "public",
+ "values": [
+ "paved",
+ "dirt",
+ "trail"
+ ]
+ },
+ "public.enum_map_roads_stroke_style": {
+ "name": "enum_map_roads_stroke_style",
+ "schema": "public",
+ "values": [
+ "solid",
+ "dashed",
+ "dotted"
+ ]
+ },
+ "public.enum_map_zones_type": {
+ "name": "enum_map_zones_type",
+ "schema": "public",
+ "values": [
+ "water",
+ "land",
+ "territory",
+ "border",
+ "other"
+ ]
+ },
+ "public.enum_resource_nodes_icon": {
+ "name": "enum_resource_nodes_icon",
+ "schema": "public",
+ "values": [
+ "marker",
+ "droplet",
+ "trees",
+ "mountain",
+ "flag",
+ "star",
+ "skull",
+ "home",
+ "anchor",
+ "fuel"
+ ]
+ },
+ "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_supply_boxes_status": {
+ "name": "enum_supply_boxes_status",
+ "schema": "public",
+ "values": [
+ "active",
+ "deleted"
+ ]
+ },
+ "public.enum_operation_events_status": {
+ "name": "enum_operation_events_status",
+ "schema": "public",
+ "values": [
+ "validated",
+ "rejected",
+ "dead-letter"
+ ]
+ },
+ "public.enum_operation_effects_effect_type": {
+ "name": "enum_operation_effects_effect_type",
+ "schema": "public",
+ "values": [
+ "operation.started",
+ "operation.ended",
+ "operation.objective-updated",
+ "operation.extraction-recorded",
+ "operation.inventory-recorded"
+ ]
+ },
+ "public.enum_operation_effects_status": {
+ "name": "enum_operation_effects_status",
+ "schema": "public",
+ "values": [
+ "applied",
+ "pending",
+ "failed",
+ "reversed"
+ ]
+ },
+ "public.enum_operation_reservations_status": {
+ "name": "enum_operation_reservations_status",
+ "schema": "public",
+ "values": [
+ "reserved",
+ "settled",
+ "cancelled",
+ "expired",
+ "no-show"
+ ]
+ },
+ "public.enum_operation_readiness_subject_type": {
+ "name": "enum_operation_readiness_subject_type",
+ "schema": "public",
+ "values": [
+ "user",
+ "role"
+ ]
+ },
+ "public.enum_operation_readiness_nature": {
+ "name": "enum_operation_readiness_nature",
+ "schema": "public",
+ "values": [
+ "advisory"
+ ]
+ },
+ "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_forms_confirmation_type": {
+ "name": "enum_forms_confirmation_type",
+ "schema": "public",
+ "values": [
+ "message",
+ "redirect"
+ ]
+ },
+ "public.enum_forms_targeting_audience": {
+ "name": "enum_forms_targeting_audience",
+ "schema": "public",
+ "values": [
+ "all",
+ "users",
+ "roles",
+ "qualifications"
+ ]
+ },
+ "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/gemma-4-26B-A4B-it-qat-GGUF"
+ ]
+ },
+ "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": "c4f9e2a1-7b3d-4a8e-9d2f-58b1c6e04d77",
+ "prevId": "69d731a3-82c3-4f4e-b7fe-7142955843c5"
+}
\ No newline at end of file
diff --git a/src/migrations/20260930_162200_add_documentation_wiki_category.ts b/src/migrations/20260930_162200_add_documentation_wiki_category.ts
new file mode 100644
index 0000000..5961fb5
--- /dev/null
+++ b/src/migrations/20260930_162200_add_documentation_wiki_category.ts
@@ -0,0 +1,11 @@
+import { MigrateUpArgs, MigrateDownArgs, sql } from "@payloadcms/db-postgres";
+
+export async function up({ db, payload, req }: MigrateUpArgs): Promise {
+ await db.execute(sql`
+ ALTER TYPE "public"."enum_wiki_pages_category" ADD VALUE 'Documentation';`);
+}
+
+export async function down({ db, payload, req }: MigrateDownArgs): Promise {
+ // PostgreSQL cannot remove enum values; the down migration is a no-op.
+ await db.execute(sql``);
+}
diff --git a/src/migrations/index.ts b/src/migrations/index.ts
index 318c313..22f47e7 100644
--- a/src/migrations/index.ts
+++ b/src/migrations/index.ts
@@ -94,6 +94,7 @@ import * as migration_20260925_235150_add_mission_role_signups from './20260925_
import * as migration_20260926_030859_add_mission_role_description from './20260926_030859_add_mission_role_description';
import * as migration_20260926_044319_add_mission_role_description_richtext from './20260926_044319_add_mission_role_description_richtext';
import * as migration_20260928_021138_change_ai_model from './20260928_021138_change_ai_model';
+import * as migration_20260930_162200_add_documentation_wiki_category from './20260930_162200_add_documentation_wiki_category';
export const migrations = [
{
@@ -576,4 +577,9 @@ export const migrations = [
down: migration_20260928_021138_change_ai_model.down,
name: '20260928_021138_change_ai_model'
},
+ {
+ up: migration_20260930_162200_add_documentation_wiki_category.up,
+ down: migration_20260930_162200_add_documentation_wiki_category.down,
+ name: '20260930_162200_add_documentation_wiki_category'
+ },
];
diff --git a/src/payload-generated-schema.ts b/src/payload-generated-schema.ts
index d97abcd..c47f926 100644
--- a/src/payload-generated-schema.ts
+++ b/src/payload-generated-schema.ts
@@ -902,6 +902,7 @@ export const enum_wiki_pages_category = pgEnum("enum_wiki_pages_category", [
"Media",
"Guides",
"Meta",
+ "Documentation",
]);
export const enum_wiki_revisions_type = pgEnum("enum_wiki_revisions_type", [
"create",
diff --git a/src/payload-types.ts b/src/payload-types.ts
index a918362..ff1d006 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -4080,7 +4080,7 @@ export interface WikiPage {
* URL slug. Generated by the service layer from the title.
*/
slug: string;
- category: 'Campaign' | 'World' | 'Lore' | 'Characters' | 'Plot' | 'Media' | 'Guides' | 'Meta';
+ category: 'Campaign' | 'World' | 'Lore' | 'Characters' | 'Plot' | 'Media' | 'Guides' | 'Meta' | 'Documentation';
tags?: string[] | null;
/**
* Markdown source. Rendered by the frontend.
diff --git a/src/tools/seed/documentation/banking.md b/src/tools/seed/documentation/banking.md
new file mode 100644
index 0000000..2054c62
--- /dev/null
+++ b/src/tools/seed/documentation/banking.md
@@ -0,0 +1,60 @@
+# Banking
+
+The banking system handles money for people, factions, and the unit itself. You find it under **Logistics**, then **Banking**, in the sidebar. All accounts are held in the unit's main currency, configured by command in Game Rules, so the name and display labels you see on amounts follow that setup.
+
+## Account types
+
+There are three kinds of accounts:
+
+- **Personal**: your own wallet. Every player can have one, and one is created automatically the first time you need it (for example when you receive your first payment). It starts at zero.
+- **Treasury**: the unit's shared pool. Market sales of vendor stock flow into it, and staff salaries and structure maintenance are paid out of it (see [[Base Management]]).
+- **Faction**: a shared pool owned by a specific faction rather than the unit as a whole.
+
+## Who can create and manage accounts
+
+- You can always create your **own personal account** from the Banking page. You cannot create personal accounts for other people.
+- **Treasury and faction accounts require a manager** to create or touch. A manager is an admin, a developer, or a logistics-qualified member.
+- Personal accounts are managed by their **owner or a manager**. Nobody else can deposit, withdraw, or transfer from your account.
+
+## Everyday operations
+
+Three actions cover daily use, all available from an account's detail page:
+
+- **Deposit**: move funds from outside the system into an account.
+- **Withdraw**: take funds out of an account.
+- **Transfer**: move funds between two accounts in one step.
+
+Transfers require both a source and a destination account, amounts must be positive, and both accounts must be open. A **frozen** or **closed** account rejects every transaction, and a source account must hold enough to cover the amount plus any fee.
+
+## Transaction numbers
+
+Every completed transaction gets a unique **transaction number** automatically, something like `TXN-MD3A9F-K7Q2`. You will see it on the transaction record alongside the type (deposit, withdrawal, transfer, payment, fee, salary, or adjustment), the accounts involved, the amount, any fee, and a memo. Quote this number whenever you need to point at a specific payment, for example when asking staff to trace a purchase from the [[Market and Negotiation]] or a shipment expense from [[Shipments]].
+
+## Ledger entries
+
+Behind each transaction, the system writes **one ledger entry per affected account**. Each entry records:
+
+- the account it belongs to,
+- a **signed amount**: positive for money in (a credit), negative for money out (a debit),
+- the resulting balance after the entry,
+- the transaction it belongs to and the time it happened.
+
+So a 500 credit transfer from Alice to Bob produces two ledger entries: one at Alice's account for -500 and one at Bob's account for +500, both referencing the same transaction number. The ledger is the audit trail; balances are never adjusted without one.
+
+## Finding your wallet
+
+Open **Logistics**, then **Banking**. Your personal account appears as your wallet card at the top of the overview, showing your balance and quick actions. If you have never had one, opening the page creates it for you on the spot. From the same page you can open any account you are allowed to see, review its transaction history, and read its ledger table.
+
+:::note
+Balances are maintained by the transaction engine itself. Nobody edits a balance by hand; every change is a transaction with ledger entries, which is what makes the numbers trustworthy.
+:::
+
+## Quick reference
+
+| Account type | Who can create it | Who can manage it |
+| --- | --- | --- |
+| Personal | Its owner only | Owner or a manager |
+| Treasury | A manager | Managers only |
+| Faction | A manager | Managers only |
+
+Manager here means admin, developer, or logistics-qualified member.
diff --git a/src/tools/seed/documentation/base-management.md b/src/tools/seed/documentation/base-management.md
new file mode 100644
index 0000000..3ce8847
--- /dev/null
+++ b/src/tools/seed/documentation/base-management.md
@@ -0,0 +1,62 @@
+# Base Management
+
+Structures are not self-running. They need staff, they cost money, they eat upkeep materials, and they can be improved. All of that lives under the umbrella of base management, on the page of each structure (open it from **Logistics**, then **Structures**). Money side effects land in [[Banking]] accounts, and materials move through [[Logistics and Storage Rules]].
+
+## Staffing
+
+Two kinds of workers keep a structure running:
+
+- **Named NPC staff** fill specific positions (administrative, technical, and other slots, each with its own cap per structure). You hire a particular NPC into a titled role; they can hold only one job at a time.
+- **Labor headcount** blocks of workers by trade (for example builders or loaders). Instead of individuals, you set a headcount number per labor classification, capped by what the structure accepts and by how many workers of that trade are available. Paying above the market rate widens the pool you can draw from.
+
+## The hiring gate
+
+Staff hiring can be switched off globally by command through a flag in Game Rules. When it is off, every hire and headcount change is refused with a clear message, usually with a reason attached. This is deliberate: hiring is frozen between turns or during events, not broken.
+
+## Salaries and the base tick
+
+A periodic job called the **base tick** runs in the background. Each pass it pays every active salary out of the unit's **treasury account**, one transaction per staffing record, with the memo showing who or what was paid.
+
+When the treasury cannot cover a salary, nothing is silently dropped: the payment is recorded as a **salary unpaid** event on the structure's event log, so commanders can see exactly which workers went unpaid and why. The same applies to maintenance below.
+
+## Maintenance and upkeep
+
+- **Maintenance cost**: every structure with a maintenance cost has it charged from the treasury each tick. Failure to pay is logged as a maintenance unpaid event.
+- **Upkeep materials**: blueprints can require resources (fuel, parts, rations). Each tick the structure consumes what it needs from its storage (grid plus void). If storage falls short, the shortfall is flagged with an **upkeep shortage** event naming the resource, what it has, and what it needs.
+
+:::warning
+Upkeep draws from stored materials, not from the treasury. A full bank account does not save a depot that ran out of spare parts; keep the supply line running with [[Shipments]].
+:::
+
+## Upgrades
+
+Many blueprints list a structure they **upgrade into**. Upgrading requires the listed materials to be present in the structure's storage. When you trigger the upgrade, the materials are consumed and the structure's type is swapped to the upgraded blueprint. The structure keeps its identity and location; it just becomes the better version.
+
+## Modules
+
+Structures can install **modules**: add-ons such as extra storage capacity or production boosts. Installing a module consumes its listed materials from the structure's storage. Removing one does **not** refund materials, so treat uninstalling as a last resort. Active modules add effects such as:
+
+- extra storage capacity in kilograms,
+- a multiplier on production output,
+- extra grid storage slots.
+
+## Construction
+
+Newly placed structures (and some upgrades) do not start fully built. Delivering the blueprint's required materials to the site **starts a timed construction**: the site shows a completion timestamp, and when it passes, the structure flips to operational. Crew matters: the blueprint lists a required crew, and the size of your labor workforce (weighted by the trades' efficiency) scales how fast the clock runs. An understaffed site still builds, but slower.
+
+You can watch construction progress on [[The Map]], where building sites show a progress bar.
+
+## Compound hubs
+
+Structures can be attached to a **compound hub** as child buildings. Operational children pool their storage into the hub, so a compound acts as one big warehouse. The map folds child buildings into their hub marker and the hub shows how many buildings it contains.
+
+## Quick reference
+
+| Topic | Where the resources come from |
+| --- | --- |
+| Salaries | Treasury account, paid by the base tick |
+| Maintenance | Treasury account, per structure per tick |
+| Upkeep | Structure storage (grid + void) |
+| Upgrades and modules | Structure storage, consumed on install |
+| Construction | Delivered materials, then a timed build |
+| Compound storage | Pooled into the hub |
diff --git a/src/tools/seed/documentation/logistics-and-storage-rules.md b/src/tools/seed/documentation/logistics-and-storage-rules.md
new file mode 100644
index 0000000..38bc227
--- /dev/null
+++ b/src/tools/seed/documentation/logistics-and-storage-rules.md
@@ -0,0 +1,48 @@
+# Logistics and Storage Rules
+
+Every base, depot, and outpost in the game world is a **structure**. Structures hold resources (fuel, ammo, building materials, food, and so on) in their storage, and nearly everything else in the logistics loop depends on them: shipments deliver into them, construction and upgrades consume from them, and upkeep is drawn from them each cycle.
+
+You can view and manage a structure's storage by opening its page under **Logistics** in the sidebar. From there you can deposit resources you are carrying, withdraw them back out, and transfer stock between structures.
+
+## How deposits work
+
+When you deposit a resource, the system checks it against the structure's storage rules before anything moves. Storage comes in two flavors, and both count the same way:
+
+- **Grid storage**: items placed in visible storage slots.
+- **Void storage**: overflow stock tracked without a grid position.
+
+When the rules calculate how much of a resource is "stored here", they add grid and void together. Hiding items in void storage does not dodge a cap.
+
+## The three storage rules
+
+Structures (defined by their blueprint type) can have three kinds of restrictions. They are always checked in the same order, and the first rule that fails rejects the deposit:
+
+1. **Prohibited items.** The blueprint lists specific resources that may never be stored here. If your item is on the prohibited list, it is refused outright, no matter what.
+2. **Whitelist mode.** If the structure's "restrict to allowed" switch is on, only resources explicitly on its allowed list can be stored. Anything not on the list is refused. You will see an amber "whitelist mode" banner on the structure page when this is active, and the storage dialog simply filters out items you cannot deposit.
+3. **Per-item caps.** Each entry on the allowed list can carry a maximum quantity. If the structure already holds that much (grid plus void combined), further deposits of that item are refused until some is consumed or shipped out.
+
+## When a deposit is rejected
+
+A rejected deposit simply does not happen: nothing is lost and nothing moves. You get a clear message explaining why, for example:
+
+```text
+This resource is prohibited from storage at this structure.
+This structure only accepts items on its allowed storage list: "Diesel" is not permitted.
+Diesel is limited to 5,000 units here. You can add at most 1,200 more.
+```
+
+The same checks apply when transferring resources between structures, and again when a shipment tries to deliver (see [[Shipments]]). The storage dialog caps your deposit to whatever fits, so you usually will not hit these errors by accident; they mostly appear when the rules changed after stock was already en route.
+
+## Where to see caps
+
+Open a structure page and open its storage dialog. Each item shows how much is stored and, where a cap is defined, what that cap is. Items that are not permitted are filtered out or marked when whitelist mode is on. Structure detail pages also show the amber whitelist banner mentioned above.
+
+Storage rules matter well beyond hauling crates: construction, upgrades, and modules all consume materials from a structure's storage (see [[Base Management]]), and market purchases land in your personal locker rather than a structure (see [[Market and Negotiation]]). Keeping the right stock in the right place is the core loop of [[Logistics and Storage Rules]] as a whole.
+
+## Quick reference
+
+| Rule | Checked | Effect |
+| --- | --- | --- |
+| Prohibited list | First | Listed items can never be stored here |
+| Whitelist mode | Second | Only allowed-list items pass when restrict-to-allowed is on |
+| Per-item cap | Last | Stored amount (grid + void) may not exceed the listed cap |
diff --git a/src/tools/seed/documentation/market-and-negotiation.md b/src/tools/seed/documentation/market-and-negotiation.md
new file mode 100644
index 0000000..37cf080
--- /dev/null
+++ b/src/tools/seed/documentation/market-and-negotiation.md
@@ -0,0 +1,62 @@
+# Market and Negotiation
+
+The market is the unit's flea market: a board of fixed-price listings where players sell gear from their personal locker and NPC vendors restock consumables and equipment. Prices are paid through the banking system, and purchases land directly in your locker. Open it under **Logistics**, then **Market**.
+
+## Listing items from your locker
+
+To sell something, open **Create listing** on the market page. Three conditions must hold:
+
+1. The item type must be marked **tradeable**.
+2. It must be **approved and live** (item types still going through review cannot be listed; the dialog disables them with a "not approved for trading yet" hint).
+3. The locker entry must be **clean**: no attached equipment, no applied skin. Selling an entry with attachments would destroy them, so those entries are not eligible.
+
+You set an asking price and optionally a minimum price. If your minimum is below your asking price, the listing is **negotiable**: buyers can make offers and you decide. Your listing stays up for **30 days**, after which it expires and the stock returns to your locker automatically.
+
+## Buying outright
+
+For any listing, hit **Buy** to pay the asking price. The funds move through banking (see [[Banking]]), the item is credited to your locker, and the listing closes. If a seller has several units in stock, you can pick a **partial quantity**; the listing stays active until the last unit sells.
+
+## Making offers
+
+For negotiable listings, use **Make offer** to propose a lower per-unit price. This works the same way against players and NPC vendors, but the replies differ:
+
+- **Player sellers** get a notification and accept, reject, or counter at their leisure.
+- **NPC vendors** answer immediately, in character, through a chat panel.
+
+## How NPC haggling works
+
+From your side of the table, vendor haggling follows predictable rules:
+
+- Vendors **counter-offer** rather than accept lowball numbers outright. Their counters come down in steps as they concede toward your price.
+- A vendor **never goes below their floor**. Every listing has a hidden minimum, and counters stop there no matter how long you haggle.
+- **Your offers must keep rising.** Repeating an amount, or offering less than before, is rejected outright. Tiny increases (offering one credit more on an expensive item) are also treated as time-wasting.
+- Vendors have a **patience meter**, visible while you bargain. Lowball offers and stall attempts push it up quickly, and reasonable offers let it relax slightly. If the meter fills, the negotiation thread **closes**, and from that point your only option is to buy at the full asking price.
+
+The practical takeaway: open with a serious number, raise your offers in meaningful steps, and stop before the patience bar runs out.
+
+## Expirations
+
+Listings do not live forever:
+
+- **Player listings** expire after 30 days and the stock returns to the seller's locker.
+- **Auto-generated vendor listings** expire after 7 days and are replaced by fresh vendor stock on the next market cycle.
+
+When a listing sells, expires, or is cancelled, any open negotiations on it are closed and the interested buyers are notified.
+
+## Notifications
+
+Negotiations keep you informed through the in-app notification bell: offers received, counters, acceptances, rejections, withdrawals, sales, and expirations all generate a notification with a link back to the listing. Check it regularly while a haggle is live, because a counter from a player seller waits for your answer.
+
+:::note
+Payment always flows through your bank account. Make sure your personal wallet (see [[Banking]]) holds the funds before you offer; purchases of vendor stock are paid into the unit treasury, which in turn funds salaries and maintenance (see [[Base Management]]).
+:::
+
+## Quick reference
+
+| Topic | Value |
+| --- | --- |
+| Player listing duration | 30 days |
+| Vendor listing duration | 7 days |
+| Eligible items | Tradeable, approved and live, clean (no attachments or skins) |
+| Offer rules | Strictly rising offers; stalls and lowballs rejected |
+| Patience meter full | Thread closes; only full-price purchase remains |
diff --git a/src/tools/seed/documentation/shipments.md b/src/tools/seed/documentation/shipments.md
new file mode 100644
index 0000000..e2aa8ec
--- /dev/null
+++ b/src/tools/seed/documentation/shipments.md
@@ -0,0 +1,66 @@
+# Shipments
+
+Shipments move resources between structures. A truck of diesel from the fuel depot to a forward outpost, a load of timber to a construction site: that is a shipment. You create and track them under **Logistics**, then **Shipments**.
+
+## Creating a shipment
+
+A shipment needs four things:
+
+1. **Origin**: a structure that stores the cargo (see [[Logistics and Storage Rules]]).
+2. **Destination**: another structure on the same map.
+3. **Cargo**: one or more resource or asset entries with amounts.
+4. **Transport vehicle**: a deployed game vehicle to do the hauling.
+
+When you confirm, the cargo is reserved, the vehicle is committed, and the shipment enters the queue.
+
+## Distance, fuel, and time
+
+For ground vehicles, the route follows the **road network** drawn on the map: the system finds the best road path from origin to destination, preferring faster roads (each road has a speed multiplier, so highways beat dirt tracks). The **distance** is the length of that road path. If the origin or destination cannot reach the road network, a ground shipment is refused with a clear error rather than guessed.
+
+Air and sea vehicles travel in a straight line instead.
+
+**Fuel cost** comes from the distance multiplied by the vehicle's consumption rate, and the **travel time** comes from the distance and the vehicle's speed. The vehicle's tank is drained continuously as it drives, so a long trip visibly consumes fuel while it runs.
+
+## Shipment statuses
+
+| Status | Meaning |
+| --- | --- |
+| Pending | Created but not yet dispatched |
+| Dispatched | The vehicle has set off |
+| In transit | Underway; fuel is burning and progress is tracked |
+| Arrived | At the destination, delivery being processed |
+| Completed | Cargo delivered successfully |
+| Cancelled | Called off before delivery |
+| Failed | Delivery refused; cargo returned to origin |
+| Stranded | The vehicle ran out of fuel mid-route |
+
+## Live progress
+
+Open **The Map** (see [[The Map]]) and enable the shipments layer: every active shipment shows as a marker moving along its route between dispatch time and estimated arrival. The shipment detail page also shows progress, and it refreshes automatically through the realtime feed.
+
+## Arrival checks and bounced cargo
+
+Delivery is **not guaranteed**. When a shipment arrives, the destination's storage rules are checked again. If the destination prohibits the item, is in whitelist mode without your item on the list, or the per-item cap has no room, the affected cargo **bounces back to the origin structure** and the shipment is marked **failed**, with the reason recorded. Nothing is destroyed, but the trip (and its fuel) is wasted, so check the destination's rules before you dispatch.
+
+:::warning
+Storage caps count everything a structure holds, including stock that arrived while you were loading. A shipment that fit when planned can still bounce if the destination filled up in the meantime.
+:::
+
+## Auto-return
+
+When creating a shipment you can tick **auto-return**. Once delivery completes, the vehicle automatically heads back to the origin as an empty return trip (fuel permitting), so it is back in position for the next job without a manual step. The return leg appears as its own shipment named after the original.
+
+## Stranded shipments
+
+If a vehicle's tank cannot cover the burn for the distance remaining, the shipment is marked **stranded** and the vehicle is flagged as damaged. Cargo stays where it stopped. Stranding usually means someone dispatched a vehicle without enough fuel for the round trip; refuel and recover the vehicle, then re-create the shipment.
+
+## Quick reference
+
+| Item | Detail |
+| --- | --- |
+| Ground route | Along roads, faster roads preferred |
+| Air / sea route | Straight line |
+| Fuel cost | Distance times vehicle consumption rate |
+| Storage rules | Re-checked on arrival; refusals bounce cargo to origin |
+| Auto-return | Empty trip back to origin after delivery |
+| Stranded | Out of fuel mid-route; vehicle flagged damaged |
diff --git a/src/tools/seed/documentation/the-map.md b/src/tools/seed/documentation/the-map.md
new file mode 100644
index 0000000..f14fc47
--- /dev/null
+++ b/src/tools/seed/documentation/the-map.md
@@ -0,0 +1,72 @@
+# The Map
+
+The map screen is the unit's picture of the theater: where structures stand, what resources sit nearby, how roads connect them, and where shipments currently are. Open it from the sidebar entry **Map**. You first pick a map from a grid of available maps (the unit's world map plus mission-specific maps), then the map view itself opens.
+
+## Layers
+
+The toolbar lets you toggle each layer on and off:
+
+- **Structures**: bases, depots, outposts.
+- **Resource nodes**: places where resources can be gathered or extracted.
+- **Roads**: the network ground vehicles actually drive along.
+- **Zones**: colored areas such as water, territory borders, or named compounds.
+- **Shipments**: cargo currently in transit (see [[Shipments]]).
+
+## Coordinates are meters
+
+The map uses a meter-based grid per map, not latitude and longitude. The origin sits at the top-left corner, and the y axis runs **southward**, matching Arma's convention. Any distance you see (placement ranges, road lengths, aura radii) is plain meters on that grid.
+
+## Structure pins
+
+Structures render as status-colored pins:
+
+- **Emerald building icon**: operational.
+- **Blue hammer**: under construction, with a progress bar.
+- **Amber package**: awaiting materials before construction can start.
+
+Popovers on each pin link straight to the structure's detail page, where staffing and storage live (see [[Base Management]] and [[Logistics and Storage Rules]]).
+
+## Placing new structures
+
+Members with the logistics qualification can enter **placement mode** and click the map to site a new structure. A dialog collects the blueprint, name, and faction. The server validates every placement:
+
+- **Water rules**: land blueprints cannot sit in water zones, and water blueprints (docks and the like) need a water zone. With no zones drawn on the map, everything is allowed.
+- **Proximity**: blueprints that depend on resources must sit within the configured range of a matching resource node, and some blueprints must keep their distance from other structures.
+
+Placement is refused with a clear error when a rule fails, so experimenting on the map is safe.
+
+## Roads and travel speed
+
+Roads are drawn as lines and carry a **speed multiplier** that says how fast vehicles move along them. Ground shipments route along these roads, and faster roads win when the system picks a route. That same routing produces the distance and fuel figures on [[Shipments]].
+
+## Zones are informational
+
+Zones mostly exist to describe the world: water, land, territory and border lines, or generic areas like named compounds. **Only water blocks placement**; territory and border zones never restrict anything, they inform.
+
+## Compounds
+
+A structure can be attached as a **child** of a compound hub. On the map, children fold into their hub: their labels are hidden and the hub marker reports the building count. The hub page shows the pooled storage of all operational children.
+
+## Shipment markers
+
+Active shipments appear as markers that **move along their routes** between dispatch time and estimated arrival, so you can watch a convoy make progress without opening the shipment page. The layer refreshes automatically as the game tick runs.
+
+## Labels
+
+The map draws text labels so you are not hovering constantly:
+
+- **Structure names** persist, with a priority system that hides weaker labels in crowded clusters; zoom in and the suppressed ones appear.
+- **Road names** follow the road's curve. Paved roads are always labeled, while dirt roads and trails only get labels once you are zoomed in close.
+- **Zone names** render near the center of each polygon.
+
+## Quick reference
+
+| Feature | Detail |
+| --- | --- |
+| Coordinates | Meters per map, origin top-left, y runs south |
+| Operational structure | Emerald building pin |
+| Under construction | Blue hammer pin with progress bar |
+| Awaiting materials | Amber package pin |
+| Placement | Logistics-qualified users; water and proximity rules enforced |
+| Zones | Informational, except water which blocks land placement |
+| Ground routing | Along roads, weighted by speed multiplier |
diff --git a/src/tools/seed/seedDocumentation.ts b/src/tools/seed/seedDocumentation.ts
new file mode 100644
index 0000000..6f81cd0
--- /dev/null
+++ b/src/tools/seed/seedDocumentation.ts
@@ -0,0 +1,97 @@
+import { readdir, readFile } from "node:fs/promises";
+import { getPayload } from "payload";
+import config from "@payload-config";
+import { slugify } from "@/lib/wiki/slugify";
+
+/**
+ * Seeds the Documentation wiki category with in-depth, non-developer guides
+ * for the app's core systems. Idempotent: pages are keyed by slug; existing
+ * pages get their body updated when the markdown changed, missing pages are
+ * created. Run with: bun run src/tools/seed/seedDocumentation.ts
+ *
+ * Content lives as plain markdown files in ./documentation/ next to this
+ * script; the first H1 line of each file becomes the page title.
+ */
+
+interface DocFile {
+ title: string;
+ slug: string;
+ body: string;
+}
+
+function parseDocFile(fileName: string, raw: string): DocFile {
+ const normalized = raw.replace(/\r\n/g, "\n").trim();
+ const match = /^# (.+)$/m.exec(normalized);
+ if (!match) {
+ throw new Error(`${fileName}: first heading (H1) is missing; cannot derive a page title.`);
+ }
+ const title = match[1].trim();
+ const body = normalized.slice(normalized.indexOf("\n") + 1).trim();
+ return { title, slug: slugify(title), body };
+}
+
+const payload = await getPayload({ config });
+
+const docsDir = new URL("./documentation/", import.meta.url);
+const fileNames = (await readdir(docsDir)).filter((name) => name.endsWith(".md")).sort();
+
+let created = 0;
+let updated = 0;
+let unchanged = 0;
+
+for (const fileName of fileNames) {
+ const raw = await readFile(new URL(fileName, docsDir), "utf8");
+ const doc = parseDocFile(fileName, raw);
+
+ const existing = await payload.find({
+ collection: "wiki-pages",
+ where: { slug: { equals: doc.slug } },
+ limit: 1,
+ depth: 0,
+ overrideAccess: true,
+ });
+ const current = existing.docs[0];
+
+ if (current) {
+ if (current.title === doc.title && current.body === doc.body) {
+ unchanged++;
+ continue;
+ }
+ await payload.update({
+ collection: "wiki-pages",
+ id: current.id,
+ data: {
+ title: doc.title,
+ body: doc.body,
+ category: "Documentation",
+ },
+ overrideAccess: true,
+ depth: 0,
+ });
+ updated++;
+ payload.logger.info(`[seed-documentation] updated: ${doc.title}`);
+ } else {
+ await payload.create({
+ collection: "wiki-pages",
+ data: {
+ title: doc.title,
+ slug: doc.slug,
+ category: "Documentation",
+ tags: ["documentation"],
+ body: doc.body,
+ },
+ overrideAccess: true,
+ depth: 0,
+ });
+ created++;
+ payload.logger.info(`[seed-documentation] created: ${doc.title}`);
+ }
+}
+
+payload.logger.info(
+ `[seed-documentation] done: ${created} created, ${updated} updated, ${unchanged} unchanged (${fileNames.length} files).`,
+);
+
+// CLI script: the Payload pool keeps the event loop alive after completion;
+// exit explicitly (same convention as the other seed tools and bins).
+process.exit(0);