{ "id": "0e074f08-6960-4e20-b579-f27574818246", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", "tables": { "public.config_revisions": { "name": "config_revisions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "created_by_user_id": { "name": "created_by_user_id", "type": "text", "primaryKey": false, "notNull": false }, "version": { "name": "version", "type": "integer", "primaryKey": false, "notNull": true }, "summary": { "name": "summary", "type": "text", "primaryKey": false, "notNull": true }, "config": { "name": "config", "type": "jsonb", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "config_revisions_server_version_unique": { "name": "config_revisions_server_version_unique", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "version", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "config_revisions_server_id_servers_id_fk": { "name": "config_revisions_server_id_servers_id_fk", "tableFrom": "config_revisions", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "config_revisions_created_by_user_id_users_id_fk": { "name": "config_revisions_created_by_user_id_users_id_fk", "tableFrom": "config_revisions", "tableTo": "users", "columnsFrom": ["created_by_user_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.log_cursors": { "name": "log_cursors", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "log_path": { "name": "log_path", "type": "text", "primaryKey": false, "notNull": true }, "file_fingerprint": { "name": "file_fingerprint", "type": "text", "primaryKey": false, "notNull": false }, "last_byte_offset": { "name": "last_byte_offset", "type": "bigint", "primaryKey": false, "notNull": true, "default": 0 }, "last_line_hash": { "name": "last_line_hash", "type": "text", "primaryKey": false, "notNull": false }, "partial_trailing_line": { "name": "partial_trailing_line", "type": "text", "primaryKey": false, "notNull": false }, "last_event_timestamp": { "name": "last_event_timestamp", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "last_successful_sync_at": { "name": "last_successful_sync_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "last_error_at": { "name": "last_error_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "last_error_message": { "name": "last_error_message", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "log_cursors_server_path_unique": { "name": "log_cursors_server_path_unique", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "log_path", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "log_cursors_server_id_servers_id_fk": { "name": "log_cursors_server_id_servers_id_fk", "tableFrom": "log_cursors", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.mod_pack_revisions": { "name": "mod_pack_revisions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "mod_pack_id": { "name": "mod_pack_id", "type": "text", "primaryKey": false, "notNull": true }, "version": { "name": "version", "type": "integer", "primaryKey": false, "notNull": true }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "mods": { "name": "mods", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "created_by_user_id": { "name": "created_by_user_id", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "mod_pack_revisions_pack_version_unique": { "name": "mod_pack_revisions_pack_version_unique", "columns": [ { "expression": "mod_pack_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "version", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "mod_pack_revisions_mod_pack_id_mod_packs_id_fk": { "name": "mod_pack_revisions_mod_pack_id_mod_packs_id_fk", "tableFrom": "mod_pack_revisions", "tableTo": "mod_packs", "columnsFrom": ["mod_pack_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "mod_pack_revisions_created_by_user_id_users_id_fk": { "name": "mod_pack_revisions_created_by_user_id_users_id_fk", "tableFrom": "mod_pack_revisions", "tableTo": "users", "columnsFrom": ["created_by_user_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.mod_packs": { "name": "mod_packs", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'draft'" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "mod_packs_server_id_servers_id_fk": { "name": "mod_packs_server_id_servers_id_fk", "tableFrom": "mod_packs", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.player_sessions": { "name": "player_sessions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "player_id": { "name": "player_id", "type": "text", "primaryKey": false, "notNull": true }, "connected_at": { "name": "connected_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "disconnected_at": { "name": "disconnected_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "duration_seconds": { "name": "duration_seconds", "type": "integer", "primaryKey": false, "notNull": false }, "disconnect_reason": { "name": "disconnect_reason", "type": "text", "primaryKey": false, "notNull": false }, "source_log_path": { "name": "source_log_path", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "player_sessions_server_open_idx": { "name": "player_sessions_server_open_idx", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "disconnected_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "player_sessions_player_idx": { "name": "player_sessions_player_idx", "columns": [ { "expression": "player_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "player_sessions_server_id_servers_id_fk": { "name": "player_sessions_server_id_servers_id_fk", "tableFrom": "player_sessions", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "player_sessions_player_id_players_id_fk": { "name": "player_sessions_player_id_players_id_fk", "tableFrom": "player_sessions", "tableTo": "players", "columnsFrom": ["player_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.players": { "name": "players", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "external_player_id": { "name": "external_player_id", "type": "text", "primaryKey": false, "notNull": false }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": true }, "first_seen_at": { "name": "first_seen_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "last_seen_at": { "name": "last_seen_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "players_server_external_id_unique": { "name": "players_server_external_id_unique", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "external_player_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "players_server_name_idx": { "name": "players_server_name_idx", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "display_name", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "players_server_id_servers_id_fk": { "name": "players_server_id_servers_id_fk", "tableFrom": "players", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.server_activity": { "name": "server_activity", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "actor_user_id": { "name": "actor_user_id", "type": "text", "primaryKey": false, "notNull": false }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "summary": { "name": "summary", "type": "text", "primaryKey": false, "notNull": true }, "metadata": { "name": "metadata", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "server_activity_server_created_idx": { "name": "server_activity_server_created_idx", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "server_activity_server_id_servers_id_fk": { "name": "server_activity_server_id_servers_id_fk", "tableFrom": "server_activity", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "server_activity_actor_user_id_users_id_fk": { "name": "server_activity_actor_user_id_users_id_fk", "tableFrom": "server_activity", "tableTo": "users", "columnsFrom": ["actor_user_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.server_events": { "name": "server_events", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "server_id": { "name": "server_id", "type": "text", "primaryKey": false, "notNull": true }, "event_type": { "name": "event_type", "type": "text", "primaryKey": false, "notNull": true }, "occurred_at": { "name": "occurred_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "player_id": { "name": "player_id", "type": "text", "primaryKey": false, "notNull": false }, "player_session_id": { "name": "player_session_id", "type": "text", "primaryKey": false, "notNull": false }, "summary": { "name": "summary", "type": "text", "primaryKey": false, "notNull": true }, "payload": { "name": "payload", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "source_log_path": { "name": "source_log_path", "type": "text", "primaryKey": false, "notNull": true }, "source_line_hash": { "name": "source_line_hash", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "server_events_dedupe_unique": { "name": "server_events_dedupe_unique", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "source_log_path", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "source_line_hash", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "server_events_server_occurred_idx": { "name": "server_events_server_occurred_idx", "columns": [ { "expression": "server_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "occurred_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "server_events_server_id_servers_id_fk": { "name": "server_events_server_id_servers_id_fk", "tableFrom": "server_events", "tableTo": "servers", "columnsFrom": ["server_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "server_events_player_id_players_id_fk": { "name": "server_events_player_id_players_id_fk", "tableFrom": "server_events", "tableTo": "players", "columnsFrom": ["player_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" }, "server_events_player_session_id_player_sessions_id_fk": { "name": "server_events_player_session_id_player_sessions_id_fk", "tableFrom": "server_events", "tableTo": "player_sessions", "columnsFrom": ["player_session_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.servers": { "name": "servers", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "provider_type": { "name": "provider_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'pterodactyl'" }, "pterodactyl_server_id": { "name": "pterodactyl_server_id", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'unknown'" }, "max_players": { "name": "max_players", "type": "integer", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "servers_slug_unique": { "name": "servers_slug_unique", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sessions": { "name": "sessions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "sessions_user_id_idx": { "name": "sessions_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "sessions_user_id_users_id_fk": { "name": "sessions_user_id_users_id_fk", "tableFrom": "sessions", "tableTo": "users", "columnsFrom": ["user_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "discord_id": { "name": "discord_id", "type": "text", "primaryKey": false, "notNull": true }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": false }, "avatar_url": { "name": "avatar_url", "type": "text", "primaryKey": false, "notNull": false }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "default": "'viewer'" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "users_discord_id_unique": { "name": "users_discord_id_unique", "columns": [ { "expression": "discord_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }