import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' export async function up({ db, payload, req }: MigrateUpArgs): Promise { await db.execute(sql` CREATE TYPE "public"."enum_game_vehicles_status" AS ENUM('idle', 'assigned', 'in_transit', 'damaged', 'destroyed'); CREATE TYPE "public"."enum_game_event_logs_target_collection" AS ENUM('game-structures', 'game-vehicles', 'game-npcs', 'structures', 'resources', 'assets', 'vehicles', 'factions', 'missions', 'campaigns', 'users', 'technologies', 'maps', 'shipments', 'bank-accounts', 'bank-transactions', 'ledger-entries', 'locker-storages', 'loadouts', 'market-listings', 'market-negotiations'); CREATE TYPE "public"."enum_users_preferences_notifications_muted_types" AS ENUM('market:offer', 'market:counter', 'market:accept', 'market:reject', 'market:withdrawn', 'market:closed', 'market:sold', 'market:expired', 'account:discord-request', 'finance:deposit', 'finance:withdraw', 'finance:transfer', 'shipment:completed'); CREATE TYPE "public"."enum_users_preferences_discord_muted_types" AS ENUM('market:offer', 'market:counter', 'market:accept', 'market:reject', 'market:withdrawn', 'market:closed', 'market:sold', 'market:expired', 'account:discord-request', 'finance:deposit', 'finance:withdraw', 'finance:transfer', 'shipment:completed'); CREATE TYPE "public"."enum_mission_attendances_response" AS ENUM('yes', 'no', 'tentative'); CREATE TYPE "public"."enum_technologies_approval_status" AS ENUM('in_progress', 'ready_for_review', 'approved', 'rejected', 'revision_requested'); CREATE TYPE "public"."enum_assets_skin_configuration_applies_to_asset_types" AS ENUM('weapon', 'uniform', 'vest', 'backpack', 'helmet'); CREATE TYPE "public"."enum_assets_approval_status" AS ENUM('in_progress', 'ready_for_review', 'approved', 'rejected', 'revision_requested'); CREATE TYPE "public"."enum_resources_approval_status" AS ENUM('in_progress', 'ready_for_review', 'approved', 'rejected', 'revision_requested'); CREATE TYPE "public"."enum_vehicles_approval_status" AS ENUM('in_progress', 'ready_for_review', 'approved', 'rejected', 'revision_requested'); CREATE TYPE "public"."enum_structures_approval_status" AS ENUM('in_progress', 'ready_for_review', 'approved', 'rejected', 'revision_requested'); CREATE TYPE "public"."enum_shipments_status" AS ENUM('pending', 'dispatched', 'in_transit', 'arrived', 'completed', 'cancelled', 'failed', 'stranded'); CREATE TYPE "public"."enum_bank_accounts_account_type" AS ENUM('treasury', 'faction', 'personal'); CREATE TYPE "public"."enum_bank_accounts_status" AS ENUM('open', 'frozen', 'closed'); CREATE TYPE "public"."enum_bank_transactions_type" AS ENUM('deposit', 'withdrawal', 'transfer', 'payment', 'fee', 'salary', 'adjustment'); CREATE TYPE "public"."enum_bank_transactions_status" AS ENUM('completed', 'reversed'); CREATE TYPE "public"."enum_ledger_entries_type" AS ENUM('deposit', 'withdrawal', 'transfer', 'payment', 'fee', 'salary', 'adjustment'); CREATE TYPE "public"."enum_market_listings_status" AS ENUM('active', 'sold', 'cancelled', 'expired'); CREATE TYPE "public"."enum_market_negotiations_history_from" AS ENUM('buyer', 'seller'); CREATE TYPE "public"."enum_market_negotiations_status" AS ENUM('open', 'accepted', 'rejected', 'closed', 'cancelled', 'expired'); CREATE TYPE "public"."enum_market_negotiations_proposed_by" AS ENUM('buyer', 'seller'); CREATE TYPE "public"."enum_narrative_events_triggers_type" AS ENUM('manual', 'mission_complete', 'timer', 'condition'); ALTER TYPE "public"."enum_users_roles" ADD VALUE 'trusted' BEFORE 'admin'; ALTER TYPE "public"."enum_factions_type" ADD VALUE 'playerFaction' BEFORE 'majorFaction'; ALTER TYPE "public"."enum_assets_asset_type" ADD VALUE 'skin' BEFORE 'miscellaneous'; CREATE TABLE "game_structures_void_storage" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "resource_id" integer NOT NULL, "amount" numeric NOT NULL, "grid_x" numeric NOT NULL, "grid_y" numeric NOT NULL, "rotated" boolean DEFAULT false ); CREATE TABLE "game_vehicles_stored_resources" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "resource_id" integer NOT NULL, "amount" numeric NOT NULL, "grid_x" numeric NOT NULL, "grid_y" numeric NOT NULL, "rotated" boolean DEFAULT false ); CREATE TABLE "game_vehicles_void_storage" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "resource_id" integer NOT NULL, "amount" numeric NOT NULL, "grid_x" numeric NOT NULL, "grid_y" numeric NOT NULL, "rotated" boolean DEFAULT false ); CREATE TABLE "game_vehicles" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "type_id" integer NOT NULL, "deployed_at_id" integer, "faction_id" integer, "status" "enum_game_vehicles_status" DEFAULT 'idle' NOT NULL, "current_fuel" numeric DEFAULT 0 NOT NULL, "current_health" numeric NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "game_npcs" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "occupation" varchar, "location_id" integer, "faction_id" integer, "bio" varchar, "is_generated" boolean DEFAULT false, "is_in_game" boolean DEFAULT true, "vendor_enabled" boolean DEFAULT false, "vendor_price_modifier" numeric DEFAULT 1, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "game_npcs_rels" ( "id" serial PRIMARY KEY NOT NULL, "order" integer, "parent_id" integer NOT NULL, "path" varchar NOT NULL, "assets_id" integer ); CREATE TABLE "game_event_logs" ( "id" serial PRIMARY KEY NOT NULL, "system" boolean DEFAULT true, "timestamp" timestamp(3) with time zone NOT NULL, "type" varchar NOT NULL, "message" varchar NOT NULL, "actor_id" integer, "structure_id" integer, "target_collection" "enum_game_event_logs_target_collection", "target_id" numeric, "data" jsonb, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "users_preferences_notifications_muted_types" ( "order" integer NOT NULL, "parent_id" integer NOT NULL, "value" "enum_users_preferences_notifications_muted_types", "id" serial PRIMARY KEY NOT NULL ); CREATE TABLE "users_preferences_discord_muted_types" ( "order" integer NOT NULL, "parent_id" integer NOT NULL, "value" "enum_users_preferences_discord_muted_types", "id" serial PRIMARY KEY NOT NULL ); CREATE TABLE "user_notifications" ( "id" serial PRIMARY KEY NOT NULL, "user_id" integer NOT NULL, "type" varchar, "title" varchar NOT NULL, "message" varchar, "link" varchar, "read" boolean DEFAULT false, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "mission_attendances" ( "id" serial PRIMARY KEY NOT NULL, "mission_id" integer NOT NULL, "user_id" integer NOT NULL, "response" "enum_mission_attendances_response" NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "factions_relationships" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "target_faction_id" integer NOT NULL, "value" numeric DEFAULT 0 NOT NULL, "notes" varchar ); CREATE TABLE "assets_skin_configuration_applies_to_asset_types" ( "order" integer NOT NULL, "parent_id" integer NOT NULL, "value" "enum_assets_skin_configuration_applies_to_asset_types", "id" serial PRIMARY KEY NOT NULL ); CREATE TABLE "shipments_cargo" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "amount" numeric NOT NULL ); CREATE TABLE "shipments" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar, "origin_id" integer NOT NULL, "destination_id" integer NOT NULL, "transport_vehicle_id" integer NOT NULL, "distance" numeric NOT NULL, "fuel_cost" numeric NOT NULL, "fuel_consumed" numeric DEFAULT 0, "status" "enum_shipments_status" DEFAULT 'pending' NOT NULL, "dispatched_at" timestamp(3) with time zone, "estimated_arrival" timestamp(3) with time zone, "completed_at" timestamp(3) with time zone, "auto_return" boolean DEFAULT false, "created_by_id" integer, "failure_reason" varchar, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "shipments_rels" ( "id" serial PRIMARY KEY NOT NULL, "order" integer, "parent_id" integer NOT NULL, "path" varchar NOT NULL, "resources_id" integer, "assets_id" integer, "vehicles_id" integer ); CREATE TABLE "bank_accounts" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "account_type" "enum_bank_accounts_account_type" DEFAULT 'personal' NOT NULL, "owner_faction_id" integer, "owner_user_id" integer, "currency_id" integer NOT NULL, "balance" numeric DEFAULT 0, "status" "enum_bank_accounts_status" DEFAULT 'open' NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "bank_transactions" ( "id" serial PRIMARY KEY NOT NULL, "transaction_number" varchar NOT NULL, "type" "enum_bank_transactions_type" NOT NULL, "from_account_id" integer, "to_account_id" integer, "amount" numeric NOT NULL, "fee" numeric DEFAULT 0, "memo" varchar, "actor_id" integer, "status" "enum_bank_transactions_status" DEFAULT 'completed' NOT NULL, "reference_id" integer, "timestamp" timestamp(3) with time zone NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "ledger_entries" ( "id" serial PRIMARY KEY NOT NULL, "account_id" integer NOT NULL, "transaction_id" integer NOT NULL, "type" "enum_ledger_entries_type" NOT NULL, "amount" numeric NOT NULL, "balance_after" numeric, "memo" varchar, "timestamp" timestamp(3) with time zone NOT NULL, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "locker_storages_items_equipment_attachments" ( "_order" integer NOT NULL, "_parent_id" varchar NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "asset_id" integer NOT NULL ); CREATE TABLE "locker_storages_items" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "asset_id" integer NOT NULL, "quantity" numeric DEFAULT 1 NOT NULL, "grid_x" numeric DEFAULT 0 NOT NULL, "grid_y" numeric DEFAULT 0 NOT NULL, "rotated" boolean DEFAULT false, "equipment_skin_id" integer, "equipment_custom_name" varchar ); CREATE TABLE "locker_storages" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar DEFAULT 'Personal Locker' NOT NULL, "owner_user_id" integer NOT NULL, "item_count" numeric, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "loadouts" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "description" varchar, "owner_user_id" integer NOT NULL, "equipped" boolean DEFAULT false, "slots_primary_id" integer, "slots_secondary_id" integer, "slots_launcher_id" integer, "slots_uniform_id" integer, "slots_vest_id" integer, "slots_backpack_id" integer, "slots_helmet_id" integer, "slots_facewear_id" integer, "slots_nvg_id" integer, "slots_radio_id" integer, "slots_optic_id" integer, "slots_muzzle_id" integer, "slots_bipod_id" integer, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "market_listings" ( "id" serial PRIMARY KEY NOT NULL, "asset_id" integer NOT NULL, "seller_id" integer, "npc_id" integer, "quantity" numeric DEFAULT 1 NOT NULL, "price" numeric NOT NULL, "desired_price" numeric, "min_price" numeric, "currency_id" integer, "status" "enum_market_listings_status" DEFAULT 'active' NOT NULL, "is_auto_generated" boolean DEFAULT false, "listed_at" timestamp(3) with time zone NOT NULL, "expires_at" timestamp(3) with time zone, "sold_at" timestamp(3) with time zone, "buyer_id" integer, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "market_negotiations_history" ( "_order" integer NOT NULL, "_parent_id" integer NOT NULL, "id" varchar PRIMARY KEY NOT NULL, "amount" numeric NOT NULL, "from" "enum_market_negotiations_history_from" NOT NULL, "note" varchar, "at" timestamp(3) with time zone NOT NULL ); CREATE TABLE "market_negotiations" ( "id" serial PRIMARY KEY NOT NULL, "listing_id" integer NOT NULL, "buyer_id" integer NOT NULL, "status" "enum_market_negotiations_status" DEFAULT 'open' NOT NULL, "patience" numeric DEFAULT 0, "quantity" numeric DEFAULT 1, "amount" numeric NOT NULL, "proposed_by" "enum_market_negotiations_proposed_by" DEFAULT 'buyer' NOT NULL, "accepted_price" numeric, "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL ); CREATE TABLE "game_rules_rels" ( "id" serial PRIMARY KEY NOT NULL, "order" integer, "parent_id" integer NOT NULL, "path" varchar NOT NULL, "assignments_id" integer ); ALTER TABLE "missions" ALTER COLUMN "game_details_game_setup_mission_file_id" DROP NOT NULL; ALTER TABLE "structures_auto_generated_resources" ALTER COLUMN "min_frequency" SET DEFAULT '1'; ALTER TABLE "game_structures_stored_resources" ADD COLUMN "grid_x" numeric DEFAULT 0 NOT NULL; ALTER TABLE "game_structures_stored_resources" ADD COLUMN "grid_y" numeric DEFAULT 0 NOT NULL; ALTER TABLE "game_structures_stored_resources" ALTER COLUMN "grid_x" DROP DEFAULT; ALTER TABLE "game_structures_stored_resources" ALTER COLUMN "grid_y" DROP DEFAULT; ALTER TABLE "game_structures_stored_resources" ADD COLUMN "rotated" boolean DEFAULT false; ALTER TABLE "game_structures" ADD COLUMN "faction_id" integer; ALTER TABLE "users" ADD COLUMN "discord_id" varchar; ALTER TABLE "users" ADD COLUMN "preferences_notifications_muted_all" boolean DEFAULT false; ALTER TABLE "users" ADD COLUMN "preferences_display_show_callsign" boolean DEFAULT false; ALTER TABLE "users" ADD COLUMN "preferences_discord_enabled" boolean DEFAULT false; ALTER TABLE "profiles" ADD COLUMN "progression_minigames_flappy_bird_games_played" numeric DEFAULT 0; ALTER TABLE "profiles" ADD COLUMN "progression_minigames_flappy_bird_total_passes" numeric DEFAULT 0; ALTER TABLE "profiles" ADD COLUMN "progression_minigames_flappy_bird_best_score" numeric DEFAULT 0; ALTER TABLE "profiles" ADD COLUMN "progression_minigames_flappy_bird_xp_earned" numeric DEFAULT 0; ALTER TABLE "profiles_rels" ADD COLUMN "qualifications_id" integer; ALTER TABLE "awards" ADD COLUMN "ribbon_design" jsonb; ALTER TABLE "awards" ADD COLUMN "medal_design" jsonb; ALTER TABLE "missions_factions_involved" ADD COLUMN "faction_id" integer NOT NULL; ALTER TABLE "missions" ADD COLUMN "discord_message_id" varchar; ALTER TABLE "missions" ADD COLUMN "discord_attendance_hash" varchar; ALTER TABLE "missions" ADD COLUMN "cover_image_id" integer; ALTER TABLE "campaigns" ADD COLUMN "cover_image_id" integer; ALTER TABLE "factions" ADD COLUMN "reputation" numeric DEFAULT 0; ALTER TABLE "factions" ADD COLUMN "cover_image_id" integer; ALTER TABLE "technologies" ADD COLUMN "approval_status" "enum_technologies_approval_status" DEFAULT 'in_progress' NOT NULL; ALTER TABLE "assets" ADD COLUMN "approval_status" "enum_assets_approval_status" DEFAULT 'in_progress' NOT NULL; ALTER TABLE "assets" ADD COLUMN "storage_dimensions_grid_width" numeric DEFAULT 1 NOT NULL; ALTER TABLE "assets" ADD COLUMN "storage_dimensions_grid_height" numeric DEFAULT 1 NOT NULL; ALTER TABLE "assets" ADD COLUMN "storage_dimensions_stackable" boolean DEFAULT true; ALTER TABLE "assets" ADD COLUMN "storage_dimensions_max_stack_size" numeric; ALTER TABLE "assets" ADD COLUMN "storage_dimensions_rotatable" boolean DEFAULT true; ALTER TABLE "resources" ADD COLUMN "approval_status" "enum_resources_approval_status" DEFAULT 'in_progress' NOT NULL; ALTER TABLE "resources" ADD COLUMN "grid_width" numeric DEFAULT 1 NOT NULL; ALTER TABLE "resources" ADD COLUMN "grid_height" numeric DEFAULT 1 NOT NULL; ALTER TABLE "resources" ADD COLUMN "stackable" boolean DEFAULT true; ALTER TABLE "resources" ADD COLUMN "max_stack_size" numeric; ALTER TABLE "resources" ADD COLUMN "rotatable" boolean DEFAULT true; ALTER TABLE "vehicles" ADD COLUMN "approval_status" "enum_vehicles_approval_status" DEFAULT 'in_progress' NOT NULL; ALTER TABLE "vehicles" ADD COLUMN "fuel_fuel_type_id" integer NOT NULL; ALTER TABLE "vehicles" ADD COLUMN "fuel_fuel_capacity" numeric NOT NULL; ALTER TABLE "vehicles" ADD COLUMN "fuel_fuel_consumption_rate" numeric DEFAULT 1 NOT NULL; ALTER TABLE "structures" ADD COLUMN "approval_status" "enum_structures_approval_status" DEFAULT 'in_progress' NOT NULL; ALTER TABLE "structures" ADD COLUMN "restrict_to_allowed" boolean DEFAULT false; ALTER TABLE "narrative_events" ADD COLUMN "flow_data" jsonb NOT NULL; ALTER TABLE "narrative_events" ADD COLUMN "triggers_type" "enum_narrative_events_triggers_type" DEFAULT 'manual'; ALTER TABLE "narrative_events" ADD COLUMN "triggers_condition" jsonb; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "game_vehicles_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "game_npcs_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "game_event_logs_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "user_notifications_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "mission_attendances_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "shipments_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "bank_accounts_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "bank_transactions_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "ledger_entries_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "locker_storages_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "loadouts_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "market_listings_id" integer; ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "market_negotiations_id" integer; ALTER TABLE "game_rules" ADD COLUMN "proximity_threshold" numeric DEFAULT 10; ALTER TABLE "game_rules" ADD COLUMN "game_tick_interval_minutes" numeric DEFAULT 10; ALTER TABLE "game_rules" ADD COLUMN "locker_grid_width" numeric DEFAULT 10; ALTER TABLE "game_rules" ADD COLUMN "locker_grid_height" numeric DEFAULT 6; ALTER TABLE "game_structures_void_storage" ADD CONSTRAINT "game_structures_void_storage_resource_id_resources_id_fk" FOREIGN KEY ("resource_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_structures_void_storage" ADD CONSTRAINT "game_structures_void_storage_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."game_structures"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_vehicles_stored_resources" ADD CONSTRAINT "game_vehicles_stored_resources_resource_id_resources_id_fk" FOREIGN KEY ("resource_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_vehicles_stored_resources" ADD CONSTRAINT "game_vehicles_stored_resources_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."game_vehicles"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_vehicles_void_storage" ADD CONSTRAINT "game_vehicles_void_storage_resource_id_resources_id_fk" FOREIGN KEY ("resource_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_vehicles_void_storage" ADD CONSTRAINT "game_vehicles_void_storage_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."game_vehicles"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_vehicles" ADD CONSTRAINT "game_vehicles_type_id_vehicles_id_fk" FOREIGN KEY ("type_id") REFERENCES "public"."vehicles"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_vehicles" ADD CONSTRAINT "game_vehicles_deployed_at_id_game_structures_id_fk" FOREIGN KEY ("deployed_at_id") REFERENCES "public"."game_structures"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_vehicles" ADD CONSTRAINT "game_vehicles_faction_id_factions_id_fk" FOREIGN KEY ("faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_npcs" ADD CONSTRAINT "game_npcs_location_id_game_structures_id_fk" FOREIGN KEY ("location_id") REFERENCES "public"."game_structures"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_npcs" ADD CONSTRAINT "game_npcs_faction_id_factions_id_fk" FOREIGN KEY ("faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_npcs_rels" ADD CONSTRAINT "game_npcs_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."game_npcs"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_npcs_rels" ADD CONSTRAINT "game_npcs_rels_assets_fk" FOREIGN KEY ("assets_id") REFERENCES "public"."assets"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_event_logs" ADD CONSTRAINT "game_event_logs_actor_id_users_id_fk" FOREIGN KEY ("actor_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_event_logs" ADD CONSTRAINT "game_event_logs_structure_id_game_structures_id_fk" FOREIGN KEY ("structure_id") REFERENCES "public"."game_structures"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "users_preferences_notifications_muted_types" ADD CONSTRAINT "users_preferences_notifications_muted_types_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "users_preferences_discord_muted_types" ADD CONSTRAINT "users_preferences_discord_muted_types_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "user_notifications" ADD CONSTRAINT "user_notifications_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "mission_attendances" ADD CONSTRAINT "mission_attendances_mission_id_missions_id_fk" FOREIGN KEY ("mission_id") REFERENCES "public"."missions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "mission_attendances" ADD CONSTRAINT "mission_attendances_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "factions_relationships" ADD CONSTRAINT "factions_relationships_target_faction_id_factions_id_fk" FOREIGN KEY ("target_faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "factions_relationships" ADD CONSTRAINT "factions_relationships_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."factions"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "assets_skin_configuration_applies_to_asset_types" ADD CONSTRAINT "assets_skin_configuration_applies_to_asset_types_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."assets"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "shipments_cargo" ADD CONSTRAINT "shipments_cargo_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."shipments"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "shipments" ADD CONSTRAINT "shipments_origin_id_game_structures_id_fk" FOREIGN KEY ("origin_id") REFERENCES "public"."game_structures"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "shipments" ADD CONSTRAINT "shipments_destination_id_game_structures_id_fk" FOREIGN KEY ("destination_id") REFERENCES "public"."game_structures"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "shipments" ADD CONSTRAINT "shipments_transport_vehicle_id_game_vehicles_id_fk" FOREIGN KEY ("transport_vehicle_id") REFERENCES "public"."game_vehicles"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "shipments" ADD CONSTRAINT "shipments_created_by_id_users_id_fk" FOREIGN KEY ("created_by_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "shipments_rels" ADD CONSTRAINT "shipments_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."shipments"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "shipments_rels" ADD CONSTRAINT "shipments_rels_resources_fk" FOREIGN KEY ("resources_id") REFERENCES "public"."resources"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "shipments_rels" ADD CONSTRAINT "shipments_rels_assets_fk" FOREIGN KEY ("assets_id") REFERENCES "public"."assets"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "shipments_rels" ADD CONSTRAINT "shipments_rels_vehicles_fk" FOREIGN KEY ("vehicles_id") REFERENCES "public"."vehicles"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "bank_accounts" ADD CONSTRAINT "bank_accounts_owner_faction_id_factions_id_fk" FOREIGN KEY ("owner_faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_accounts" ADD CONSTRAINT "bank_accounts_owner_user_id_users_id_fk" FOREIGN KEY ("owner_user_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_accounts" ADD CONSTRAINT "bank_accounts_currency_id_resources_id_fk" FOREIGN KEY ("currency_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_transactions" ADD CONSTRAINT "bank_transactions_from_account_id_bank_accounts_id_fk" FOREIGN KEY ("from_account_id") REFERENCES "public"."bank_accounts"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_transactions" ADD CONSTRAINT "bank_transactions_to_account_id_bank_accounts_id_fk" FOREIGN KEY ("to_account_id") REFERENCES "public"."bank_accounts"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_transactions" ADD CONSTRAINT "bank_transactions_actor_id_users_id_fk" FOREIGN KEY ("actor_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "bank_transactions" ADD CONSTRAINT "bank_transactions_reference_id_bank_transactions_id_fk" FOREIGN KEY ("reference_id") REFERENCES "public"."bank_transactions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "ledger_entries" ADD CONSTRAINT "ledger_entries_account_id_bank_accounts_id_fk" FOREIGN KEY ("account_id") REFERENCES "public"."bank_accounts"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "ledger_entries" ADD CONSTRAINT "ledger_entries_transaction_id_bank_transactions_id_fk" FOREIGN KEY ("transaction_id") REFERENCES "public"."bank_transactions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "locker_storages_items_equipment_attachments" ADD CONSTRAINT "locker_storages_items_equipment_attachments_asset_id_assets_id_fk" FOREIGN KEY ("asset_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "locker_storages_items_equipment_attachments" ADD CONSTRAINT "locker_storages_items_equipment_attachments_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."locker_storages_items"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "locker_storages_items" ADD CONSTRAINT "locker_storages_items_asset_id_assets_id_fk" FOREIGN KEY ("asset_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "locker_storages_items" ADD CONSTRAINT "locker_storages_items_equipment_skin_id_assets_id_fk" FOREIGN KEY ("equipment_skin_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "locker_storages_items" ADD CONSTRAINT "locker_storages_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."locker_storages"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "locker_storages" ADD CONSTRAINT "locker_storages_owner_user_id_users_id_fk" FOREIGN KEY ("owner_user_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_owner_user_id_users_id_fk" FOREIGN KEY ("owner_user_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_primary_id_assets_id_fk" FOREIGN KEY ("slots_primary_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_secondary_id_assets_id_fk" FOREIGN KEY ("slots_secondary_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_launcher_id_assets_id_fk" FOREIGN KEY ("slots_launcher_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_uniform_id_assets_id_fk" FOREIGN KEY ("slots_uniform_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_vest_id_assets_id_fk" FOREIGN KEY ("slots_vest_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_backpack_id_assets_id_fk" FOREIGN KEY ("slots_backpack_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_helmet_id_assets_id_fk" FOREIGN KEY ("slots_helmet_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_facewear_id_assets_id_fk" FOREIGN KEY ("slots_facewear_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_nvg_id_assets_id_fk" FOREIGN KEY ("slots_nvg_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_radio_id_assets_id_fk" FOREIGN KEY ("slots_radio_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_optic_id_assets_id_fk" FOREIGN KEY ("slots_optic_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_muzzle_id_assets_id_fk" FOREIGN KEY ("slots_muzzle_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "loadouts" ADD CONSTRAINT "loadouts_slots_bipod_id_assets_id_fk" FOREIGN KEY ("slots_bipod_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_listings" ADD CONSTRAINT "market_listings_asset_id_assets_id_fk" FOREIGN KEY ("asset_id") REFERENCES "public"."assets"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_listings" ADD CONSTRAINT "market_listings_seller_id_users_id_fk" FOREIGN KEY ("seller_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_listings" ADD CONSTRAINT "market_listings_npc_id_game_npcs_id_fk" FOREIGN KEY ("npc_id") REFERENCES "public"."game_npcs"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_listings" ADD CONSTRAINT "market_listings_currency_id_resources_id_fk" FOREIGN KEY ("currency_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_listings" ADD CONSTRAINT "market_listings_buyer_id_users_id_fk" FOREIGN KEY ("buyer_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_negotiations_history" ADD CONSTRAINT "market_negotiations_history_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."market_negotiations"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "market_negotiations" ADD CONSTRAINT "market_negotiations_listing_id_market_listings_id_fk" FOREIGN KEY ("listing_id") REFERENCES "public"."market_listings"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "market_negotiations" ADD CONSTRAINT "market_negotiations_buyer_id_users_id_fk" FOREIGN KEY ("buyer_id") REFERENCES "public"."users"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "game_rules_rels" ADD CONSTRAINT "game_rules_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."game_rules"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "game_rules_rels" ADD CONSTRAINT "game_rules_rels_assignments_fk" FOREIGN KEY ("assignments_id") REFERENCES "public"."assignments"("id") ON DELETE cascade ON UPDATE no action; CREATE INDEX "game_structures_void_storage_order_idx" ON "game_structures_void_storage" USING btree ("_order"); CREATE INDEX "game_structures_void_storage_parent_id_idx" ON "game_structures_void_storage" USING btree ("_parent_id"); CREATE INDEX "game_structures_void_storage_resource_idx" ON "game_structures_void_storage" USING btree ("resource_id"); CREATE INDEX "game_vehicles_stored_resources_order_idx" ON "game_vehicles_stored_resources" USING btree ("_order"); CREATE INDEX "game_vehicles_stored_resources_parent_id_idx" ON "game_vehicles_stored_resources" USING btree ("_parent_id"); CREATE INDEX "game_vehicles_stored_resources_resource_idx" ON "game_vehicles_stored_resources" USING btree ("resource_id"); CREATE INDEX "game_vehicles_void_storage_order_idx" ON "game_vehicles_void_storage" USING btree ("_order"); CREATE INDEX "game_vehicles_void_storage_parent_id_idx" ON "game_vehicles_void_storage" USING btree ("_parent_id"); CREATE INDEX "game_vehicles_void_storage_resource_idx" ON "game_vehicles_void_storage" USING btree ("resource_id"); CREATE INDEX "game_vehicles_type_idx" ON "game_vehicles" USING btree ("type_id"); CREATE INDEX "game_vehicles_deployed_at_idx" ON "game_vehicles" USING btree ("deployed_at_id"); CREATE INDEX "game_vehicles_faction_idx" ON "game_vehicles" USING btree ("faction_id"); CREATE INDEX "game_vehicles_updated_at_idx" ON "game_vehicles" USING btree ("updated_at"); CREATE INDEX "game_vehicles_created_at_idx" ON "game_vehicles" USING btree ("created_at"); CREATE INDEX "game_npcs_location_idx" ON "game_npcs" USING btree ("location_id"); CREATE INDEX "game_npcs_faction_idx" ON "game_npcs" USING btree ("faction_id"); CREATE INDEX "game_npcs_updated_at_idx" ON "game_npcs" USING btree ("updated_at"); CREATE INDEX "game_npcs_created_at_idx" ON "game_npcs" USING btree ("created_at"); CREATE INDEX "game_npcs_rels_order_idx" ON "game_npcs_rels" USING btree ("order"); CREATE INDEX "game_npcs_rels_parent_idx" ON "game_npcs_rels" USING btree ("parent_id"); CREATE INDEX "game_npcs_rels_path_idx" ON "game_npcs_rels" USING btree ("path"); CREATE INDEX "game_npcs_rels_assets_id_idx" ON "game_npcs_rels" USING btree ("assets_id"); CREATE INDEX "game_event_logs_type_idx" ON "game_event_logs" USING btree ("type"); CREATE INDEX "game_event_logs_actor_idx" ON "game_event_logs" USING btree ("actor_id"); CREATE INDEX "game_event_logs_structure_idx" ON "game_event_logs" USING btree ("structure_id"); CREATE INDEX "game_event_logs_updated_at_idx" ON "game_event_logs" USING btree ("updated_at"); CREATE INDEX "game_event_logs_created_at_idx" ON "game_event_logs" USING btree ("created_at"); CREATE INDEX "users_preferences_notifications_muted_types_order_idx" ON "users_preferences_notifications_muted_types" USING btree ("order"); CREATE INDEX "users_preferences_notifications_muted_types_parent_idx" ON "users_preferences_notifications_muted_types" USING btree ("parent_id"); CREATE INDEX "users_preferences_discord_muted_types_order_idx" ON "users_preferences_discord_muted_types" USING btree ("order"); CREATE INDEX "users_preferences_discord_muted_types_parent_idx" ON "users_preferences_discord_muted_types" USING btree ("parent_id"); CREATE INDEX "user_notifications_user_idx" ON "user_notifications" USING btree ("user_id"); CREATE INDEX "user_notifications_read_idx" ON "user_notifications" USING btree ("read"); CREATE INDEX "user_notifications_updated_at_idx" ON "user_notifications" USING btree ("updated_at"); CREATE INDEX "user_notifications_created_at_idx" ON "user_notifications" USING btree ("created_at"); CREATE INDEX "mission_attendances_mission_idx" ON "mission_attendances" USING btree ("mission_id"); CREATE INDEX "mission_attendances_user_idx" ON "mission_attendances" USING btree ("user_id"); CREATE INDEX "mission_attendances_updated_at_idx" ON "mission_attendances" USING btree ("updated_at"); CREATE INDEX "mission_attendances_created_at_idx" ON "mission_attendances" USING btree ("created_at"); CREATE INDEX "factions_relationships_order_idx" ON "factions_relationships" USING btree ("_order"); CREATE INDEX "factions_relationships_parent_id_idx" ON "factions_relationships" USING btree ("_parent_id"); CREATE INDEX "factions_relationships_target_faction_idx" ON "factions_relationships" USING btree ("target_faction_id"); CREATE INDEX "assets_skin_configuration_applies_to_asset_types_order_idx" ON "assets_skin_configuration_applies_to_asset_types" USING btree ("order"); CREATE INDEX "assets_skin_configuration_applies_to_asset_types_parent_idx" ON "assets_skin_configuration_applies_to_asset_types" USING btree ("parent_id"); CREATE INDEX "shipments_cargo_order_idx" ON "shipments_cargo" USING btree ("_order"); CREATE INDEX "shipments_cargo_parent_id_idx" ON "shipments_cargo" USING btree ("_parent_id"); CREATE INDEX "shipments_origin_idx" ON "shipments" USING btree ("origin_id"); CREATE INDEX "shipments_destination_idx" ON "shipments" USING btree ("destination_id"); CREATE INDEX "shipments_transport_vehicle_idx" ON "shipments" USING btree ("transport_vehicle_id"); CREATE INDEX "shipments_created_by_idx" ON "shipments" USING btree ("created_by_id"); CREATE INDEX "shipments_updated_at_idx" ON "shipments" USING btree ("updated_at"); CREATE INDEX "shipments_created_at_idx" ON "shipments" USING btree ("created_at"); CREATE INDEX "shipments_rels_order_idx" ON "shipments_rels" USING btree ("order"); CREATE INDEX "shipments_rels_parent_idx" ON "shipments_rels" USING btree ("parent_id"); CREATE INDEX "shipments_rels_path_idx" ON "shipments_rels" USING btree ("path"); CREATE INDEX "shipments_rels_resources_id_idx" ON "shipments_rels" USING btree ("resources_id"); CREATE INDEX "shipments_rels_assets_id_idx" ON "shipments_rels" USING btree ("assets_id"); CREATE INDEX "shipments_rels_vehicles_id_idx" ON "shipments_rels" USING btree ("vehicles_id"); CREATE INDEX "bank_accounts_owner_faction_idx" ON "bank_accounts" USING btree ("owner_faction_id"); CREATE INDEX "bank_accounts_owner_user_idx" ON "bank_accounts" USING btree ("owner_user_id"); CREATE INDEX "bank_accounts_currency_idx" ON "bank_accounts" USING btree ("currency_id"); CREATE INDEX "bank_accounts_updated_at_idx" ON "bank_accounts" USING btree ("updated_at"); CREATE UNIQUE INDEX "bank_transactions_transaction_number_idx" ON "bank_transactions" USING btree ("transaction_number"); CREATE INDEX "bank_transactions_from_account_idx" ON "bank_transactions" USING btree ("from_account_id"); CREATE INDEX "bank_transactions_to_account_idx" ON "bank_transactions" USING btree ("to_account_id"); CREATE INDEX "bank_transactions_actor_idx" ON "bank_transactions" USING btree ("actor_id"); CREATE INDEX "bank_transactions_reference_idx" ON "bank_transactions" USING btree ("reference_id"); CREATE INDEX "bank_transactions_updated_at_idx" ON "bank_transactions" USING btree ("updated_at"); CREATE INDEX "bank_transactions_created_at_idx" ON "bank_transactions" USING btree ("created_at"); CREATE INDEX "ledger_entries_account_idx" ON "ledger_entries" USING btree ("account_id"); CREATE INDEX "ledger_entries_transaction_idx" ON "ledger_entries" USING btree ("transaction_id"); CREATE INDEX "ledger_entries_updated_at_idx" ON "ledger_entries" USING btree ("updated_at"); CREATE INDEX "ledger_entries_created_at_idx" ON "ledger_entries" USING btree ("created_at"); CREATE INDEX "locker_storages_items_equipment_attachments_order_idx" ON "locker_storages_items_equipment_attachments" USING btree ("_order"); CREATE INDEX "locker_storages_items_equipment_attachments_parent_id_idx" ON "locker_storages_items_equipment_attachments" USING btree ("_parent_id"); CREATE INDEX "locker_storages_items_equipment_attachments_asset_idx" ON "locker_storages_items_equipment_attachments" USING btree ("asset_id"); CREATE INDEX "locker_storages_items_order_idx" ON "locker_storages_items" USING btree ("_order"); CREATE INDEX "locker_storages_items_parent_id_idx" ON "locker_storages_items" USING btree ("_parent_id"); CREATE INDEX "locker_storages_items_asset_idx" ON "locker_storages_items" USING btree ("asset_id"); CREATE INDEX "locker_storages_items_equipment_equipment_skin_idx" ON "locker_storages_items" USING btree ("equipment_skin_id"); CREATE INDEX "locker_storages_owner_user_idx" ON "locker_storages" USING btree ("owner_user_id"); CREATE INDEX "locker_storages_updated_at_idx" ON "locker_storages" USING btree ("updated_at"); CREATE INDEX "locker_storages_created_at_idx" ON "locker_storages" USING btree ("created_at"); CREATE INDEX "loadouts_owner_user_idx" ON "loadouts" USING btree ("owner_user_id"); CREATE INDEX "loadouts_slots_slots_primary_idx" ON "loadouts" USING btree ("slots_primary_id"); CREATE INDEX "loadouts_slots_slots_secondary_idx" ON "loadouts" USING btree ("slots_secondary_id"); CREATE INDEX "loadouts_slots_slots_launcher_idx" ON "loadouts" USING btree ("slots_launcher_id"); CREATE INDEX "loadouts_slots_slots_uniform_idx" ON "loadouts" USING btree ("slots_uniform_id"); CREATE INDEX "loadouts_slots_slots_vest_idx" ON "loadouts" USING btree ("slots_vest_id"); CREATE INDEX "loadouts_slots_slots_backpack_idx" ON "loadouts" USING btree ("slots_backpack_id"); CREATE INDEX "loadouts_slots_slots_helmet_idx" ON "loadouts" USING btree ("slots_helmet_id"); CREATE INDEX "loadouts_slots_slots_facewear_idx" ON "loadouts" USING btree ("slots_facewear_id"); CREATE INDEX "loadouts_slots_slots_nvg_idx" ON "loadouts" USING btree ("slots_nvg_id"); CREATE INDEX "loadouts_slots_slots_radio_idx" ON "loadouts" USING btree ("slots_radio_id"); CREATE INDEX "loadouts_slots_slots_optic_idx" ON "loadouts" USING btree ("slots_optic_id"); CREATE INDEX "loadouts_slots_slots_muzzle_idx" ON "loadouts" USING btree ("slots_muzzle_id"); CREATE INDEX "loadouts_slots_slots_bipod_idx" ON "loadouts" USING btree ("slots_bipod_id"); CREATE INDEX "loadouts_updated_at_idx" ON "loadouts" USING btree ("updated_at"); CREATE INDEX "loadouts_created_at_idx" ON "loadouts" USING btree ("created_at"); CREATE INDEX "market_listings_asset_idx" ON "market_listings" USING btree ("asset_id"); CREATE INDEX "market_listings_seller_idx" ON "market_listings" USING btree ("seller_id"); CREATE INDEX "market_listings_npc_idx" ON "market_listings" USING btree ("npc_id"); CREATE INDEX "market_listings_currency_idx" ON "market_listings" USING btree ("currency_id"); CREATE INDEX "market_listings_status_idx" ON "market_listings" USING btree ("status"); CREATE INDEX "market_listings_buyer_idx" ON "market_listings" USING btree ("buyer_id"); CREATE INDEX "market_listings_updated_at_idx" ON "market_listings" USING btree ("updated_at"); CREATE INDEX "market_listings_created_at_idx" ON "market_listings" USING btree ("created_at"); CREATE INDEX "market_negotiations_history_order_idx" ON "market_negotiations_history" USING btree ("_order"); CREATE INDEX "market_negotiations_history_parent_id_idx" ON "market_negotiations_history" USING btree ("_parent_id"); CREATE INDEX "market_negotiations_listing_idx" ON "market_negotiations" USING btree ("listing_id"); CREATE INDEX "market_negotiations_buyer_idx" ON "market_negotiations" USING btree ("buyer_id"); CREATE INDEX "market_negotiations_status_idx" ON "market_negotiations" USING btree ("status"); CREATE INDEX "market_negotiations_updated_at_idx" ON "market_negotiations" USING btree ("updated_at"); CREATE INDEX "market_negotiations_created_at_idx" ON "market_negotiations" USING btree ("created_at"); CREATE INDEX "game_rules_rels_order_idx" ON "game_rules_rels" USING btree ("order"); CREATE INDEX "game_rules_rels_parent_idx" ON "game_rules_rels" USING btree ("parent_id"); CREATE INDEX "game_rules_rels_path_idx" ON "game_rules_rels" USING btree ("path"); CREATE INDEX "game_rules_rels_assignments_id_idx" ON "game_rules_rels" USING btree ("assignments_id"); ALTER TABLE "game_structures" ADD CONSTRAINT "game_structures_faction_id_factions_id_fk" FOREIGN KEY ("faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "profiles_rels" ADD CONSTRAINT "profiles_rels_qualifications_fk" FOREIGN KEY ("qualifications_id") REFERENCES "public"."qualifications"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "missions_factions_involved" ADD CONSTRAINT "missions_factions_involved_faction_id_factions_id_fk" FOREIGN KEY ("faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "missions" ADD CONSTRAINT "missions_cover_image_id_media_id_fk" FOREIGN KEY ("cover_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "campaigns" ADD CONSTRAINT "campaigns_cover_image_id_media_id_fk" FOREIGN KEY ("cover_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "factions" ADD CONSTRAINT "factions_cover_image_id_media_id_fk" FOREIGN KEY ("cover_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "vehicles" ADD CONSTRAINT "vehicles_fuel_fuel_type_id_resources_id_fk" FOREIGN KEY ("fuel_fuel_type_id") REFERENCES "public"."resources"("id") ON DELETE set null ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_game_vehicles_fk" FOREIGN KEY ("game_vehicles_id") REFERENCES "public"."game_vehicles"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_game_npcs_fk" FOREIGN KEY ("game_npcs_id") REFERENCES "public"."game_npcs"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_game_event_logs_fk" FOREIGN KEY ("game_event_logs_id") REFERENCES "public"."game_event_logs"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_user_notifications_fk" FOREIGN KEY ("user_notifications_id") REFERENCES "public"."user_notifications"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_mission_attendances_fk" FOREIGN KEY ("mission_attendances_id") REFERENCES "public"."mission_attendances"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_shipments_fk" FOREIGN KEY ("shipments_id") REFERENCES "public"."shipments"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_bank_accounts_fk" FOREIGN KEY ("bank_accounts_id") REFERENCES "public"."bank_accounts"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_bank_transactions_fk" FOREIGN KEY ("bank_transactions_id") REFERENCES "public"."bank_transactions"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_ledger_entries_fk" FOREIGN KEY ("ledger_entries_id") REFERENCES "public"."ledger_entries"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_locker_storages_fk" FOREIGN KEY ("locker_storages_id") REFERENCES "public"."locker_storages"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_loadouts_fk" FOREIGN KEY ("loadouts_id") REFERENCES "public"."loadouts"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_market_listings_fk" FOREIGN KEY ("market_listings_id") REFERENCES "public"."market_listings"("id") ON DELETE cascade ON UPDATE no action; ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_market_negotiations_fk" FOREIGN KEY ("market_negotiations_id") REFERENCES "public"."market_negotiations"("id") ON DELETE cascade ON UPDATE no action; CREATE INDEX "game_structures_faction_idx" ON "game_structures" USING btree ("faction_id"); CREATE UNIQUE INDEX "users_discord_id_idx" ON "users" USING btree ("discord_id"); CREATE INDEX "profiles_rels_qualifications_id_idx" ON "profiles_rels" USING btree ("qualifications_id"); CREATE INDEX "missions_factions_involved_faction_idx" ON "missions_factions_involved" USING btree ("faction_id"); CREATE INDEX "missions_cover_image_idx" ON "missions" USING btree ("cover_image_id"); CREATE INDEX "campaigns_cover_image_idx" ON "campaigns" USING btree ("cover_image_id"); CREATE INDEX "factions_cover_image_idx" ON "factions" USING btree ("cover_image_id"); CREATE INDEX "vehicles_fuel_fuel_fuel_type_idx" ON "vehicles" USING btree ("fuel_fuel_type_id"); CREATE INDEX "payload_locked_documents_rels_game_vehicles_id_idx" ON "payload_locked_documents_rels" USING btree ("game_vehicles_id"); CREATE INDEX "payload_locked_documents_rels_game_npcs_id_idx" ON "payload_locked_documents_rels" USING btree ("game_npcs_id"); CREATE INDEX "payload_locked_documents_rels_game_event_logs_id_idx" ON "payload_locked_documents_rels" USING btree ("game_event_logs_id"); CREATE INDEX "payload_locked_documents_rels_user_notifications_id_idx" ON "payload_locked_documents_rels" USING btree ("user_notifications_id"); CREATE INDEX "payload_locked_documents_rels_mission_attendances_id_idx" ON "payload_locked_documents_rels" USING btree ("mission_attendances_id"); CREATE INDEX "payload_locked_documents_rels_shipments_id_idx" ON "payload_locked_documents_rels" USING btree ("shipments_id"); CREATE INDEX "payload_locked_documents_rels_bank_accounts_id_idx" ON "payload_locked_documents_rels" USING btree ("bank_accounts_id"); CREATE INDEX "payload_locked_documents_rels_bank_transactions_id_idx" ON "payload_locked_documents_rels" USING btree ("bank_transactions_id"); CREATE INDEX "payload_locked_documents_rels_ledger_entries_id_idx" ON "payload_locked_documents_rels" USING btree ("ledger_entries_id"); CREATE INDEX "payload_locked_documents_rels_locker_storages_id_idx" ON "payload_locked_documents_rels" USING btree ("locker_storages_id"); CREATE INDEX "payload_locked_documents_rels_loadouts_id_idx" ON "payload_locked_documents_rels" USING btree ("loadouts_id"); CREATE INDEX "payload_locked_documents_rels_market_listings_id_idx" ON "payload_locked_documents_rels" USING btree ("market_listings_id"); CREATE INDEX "payload_locked_documents_rels_market_negotiations_id_idx" ON "payload_locked_documents_rels" USING btree ("market_negotiations_id"); ALTER TABLE "missions_factions_involved" DROP COLUMN "faction_name";`) } export async function down({ db, payload, req }: MigrateDownArgs): Promise { await db.execute(sql` ALTER TABLE "game_structures_void_storage" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_vehicles_stored_resources" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_vehicles_void_storage" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_vehicles" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_npcs" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_npcs_rels" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_event_logs" DISABLE ROW LEVEL SECURITY; ALTER TABLE "users_preferences_notifications_muted_types" DISABLE ROW LEVEL SECURITY; ALTER TABLE "users_preferences_discord_muted_types" DISABLE ROW LEVEL SECURITY; ALTER TABLE "user_notifications" DISABLE ROW LEVEL SECURITY; ALTER TABLE "mission_attendances" DISABLE ROW LEVEL SECURITY; ALTER TABLE "factions_relationships" DISABLE ROW LEVEL SECURITY; ALTER TABLE "assets_skin_configuration_applies_to_asset_types" DISABLE ROW LEVEL SECURITY; ALTER TABLE "shipments_cargo" DISABLE ROW LEVEL SECURITY; ALTER TABLE "shipments" DISABLE ROW LEVEL SECURITY; ALTER TABLE "shipments_rels" DISABLE ROW LEVEL SECURITY; ALTER TABLE "bank_accounts" DISABLE ROW LEVEL SECURITY; ALTER TABLE "bank_transactions" DISABLE ROW LEVEL SECURITY; ALTER TABLE "ledger_entries" DISABLE ROW LEVEL SECURITY; ALTER TABLE "locker_storages_items_equipment_attachments" DISABLE ROW LEVEL SECURITY; ALTER TABLE "locker_storages_items" DISABLE ROW LEVEL SECURITY; ALTER TABLE "locker_storages" DISABLE ROW LEVEL SECURITY; ALTER TABLE "loadouts" DISABLE ROW LEVEL SECURITY; ALTER TABLE "market_listings" DISABLE ROW LEVEL SECURITY; ALTER TABLE "market_negotiations_history" DISABLE ROW LEVEL SECURITY; ALTER TABLE "market_negotiations" DISABLE ROW LEVEL SECURITY; ALTER TABLE "game_rules_rels" DISABLE ROW LEVEL SECURITY; DROP TABLE "game_structures_void_storage" CASCADE; DROP TABLE "game_vehicles_stored_resources" CASCADE; DROP TABLE "game_vehicles_void_storage" CASCADE; DROP TABLE "game_vehicles" CASCADE; DROP TABLE "game_npcs" CASCADE; DROP TABLE "game_npcs_rels" CASCADE; DROP TABLE "game_event_logs" CASCADE; DROP TABLE "users_preferences_notifications_muted_types" CASCADE; DROP TABLE "users_preferences_discord_muted_types" CASCADE; DROP TABLE "user_notifications" CASCADE; DROP TABLE "mission_attendances" CASCADE; DROP TABLE "factions_relationships" CASCADE; DROP TABLE "assets_skin_configuration_applies_to_asset_types" CASCADE; DROP TABLE "shipments_cargo" CASCADE; DROP TABLE "shipments" CASCADE; DROP TABLE "shipments_rels" CASCADE; DROP TABLE "bank_accounts" CASCADE; DROP TABLE "bank_transactions" CASCADE; DROP TABLE "ledger_entries" CASCADE; DROP TABLE "locker_storages_items_equipment_attachments" CASCADE; DROP TABLE "locker_storages_items" CASCADE; DROP TABLE "locker_storages" CASCADE; DROP TABLE "loadouts" CASCADE; DROP TABLE "market_listings" CASCADE; DROP TABLE "market_negotiations_history" CASCADE; DROP TABLE "market_negotiations" CASCADE; DROP TABLE "game_rules_rels" CASCADE; ALTER TABLE "game_structures" DROP CONSTRAINT "game_structures_faction_id_factions_id_fk"; ALTER TABLE "profiles_rels" DROP CONSTRAINT "profiles_rels_qualifications_fk"; ALTER TABLE "missions_factions_involved" DROP CONSTRAINT "missions_factions_involved_faction_id_factions_id_fk"; ALTER TABLE "missions" DROP CONSTRAINT "missions_cover_image_id_media_id_fk"; ALTER TABLE "campaigns" DROP CONSTRAINT "campaigns_cover_image_id_media_id_fk"; ALTER TABLE "factions" DROP CONSTRAINT "factions_cover_image_id_media_id_fk"; ALTER TABLE "vehicles" DROP CONSTRAINT "vehicles_fuel_fuel_type_id_resources_id_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_game_vehicles_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_game_npcs_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_game_event_logs_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_user_notifications_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_mission_attendances_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_shipments_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_bank_accounts_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_bank_transactions_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_ledger_entries_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_locker_storages_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_loadouts_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_market_listings_fk"; ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_market_negotiations_fk"; ALTER TABLE "users_roles" ALTER COLUMN "value" SET DATA TYPE text; DROP TYPE "public"."enum_users_roles"; CREATE TYPE "public"."enum_users_roles" AS ENUM('guest', 'user', 'admin', 'developer'); ALTER TABLE "users_roles" ALTER COLUMN "value" SET DATA TYPE "public"."enum_users_roles" USING "value"::"public"."enum_users_roles"; ALTER TABLE "factions" ALTER COLUMN "type" SET DATA TYPE text; ALTER TABLE "factions" ALTER COLUMN "type" SET DEFAULT 'minorFaction'::text; DROP TYPE "public"."enum_factions_type"; CREATE TYPE "public"."enum_factions_type" AS ENUM('majorFaction', 'minorFaction', 'corporation', 'special'); ALTER TABLE "factions" ALTER COLUMN "type" SET DEFAULT 'minorFaction'::"public"."enum_factions_type"; ALTER TABLE "factions" ALTER COLUMN "type" SET DATA TYPE "public"."enum_factions_type" USING "type"::"public"."enum_factions_type"; ALTER TABLE "assets" ALTER COLUMN "asset_type" SET DATA TYPE text; ALTER TABLE "assets" ALTER COLUMN "asset_type" SET DEFAULT 'weapon'::text; DROP TYPE "public"."enum_assets_asset_type"; CREATE TYPE "public"."enum_assets_asset_type" AS ENUM('weapon', 'magazine', 'optic', 'muzzle', 'bipod', 'uniform', 'vest', 'backpack', 'helmet', 'facewear', 'nvg', 'radio', 'medical', 'tool', 'explosive', 'miscellaneous'); ALTER TABLE "assets" ALTER COLUMN "asset_type" SET DEFAULT 'weapon'::"public"."enum_assets_asset_type"; ALTER TABLE "assets" ALTER COLUMN "asset_type" SET DATA TYPE "public"."enum_assets_asset_type" USING "asset_type"::"public"."enum_assets_asset_type"; DROP INDEX "game_structures_faction_idx"; DROP INDEX "users_discord_id_idx"; DROP INDEX "profiles_rels_qualifications_id_idx"; DROP INDEX "missions_factions_involved_faction_idx"; DROP INDEX "missions_cover_image_idx"; DROP INDEX "campaigns_cover_image_idx"; DROP INDEX "factions_cover_image_idx"; DROP INDEX "vehicles_fuel_fuel_fuel_type_idx"; DROP INDEX "payload_locked_documents_rels_game_vehicles_id_idx"; DROP INDEX "payload_locked_documents_rels_game_npcs_id_idx"; DROP INDEX "payload_locked_documents_rels_game_event_logs_id_idx"; DROP INDEX "payload_locked_documents_rels_user_notifications_id_idx"; DROP INDEX "payload_locked_documents_rels_mission_attendances_id_idx"; DROP INDEX "payload_locked_documents_rels_shipments_id_idx"; DROP INDEX "payload_locked_documents_rels_bank_accounts_id_idx"; DROP INDEX "payload_locked_documents_rels_bank_transactions_id_idx"; DROP INDEX "payload_locked_documents_rels_ledger_entries_id_idx"; DROP INDEX "payload_locked_documents_rels_locker_storages_id_idx"; DROP INDEX "payload_locked_documents_rels_loadouts_id_idx"; DROP INDEX "payload_locked_documents_rels_market_listings_id_idx"; DROP INDEX "payload_locked_documents_rels_market_negotiations_id_idx"; ALTER TABLE "missions" ALTER COLUMN "game_details_game_setup_mission_file_id" SET NOT NULL; ALTER TABLE "structures_auto_generated_resources" ALTER COLUMN "min_frequency" SET DEFAULT 1; ALTER TABLE "missions_factions_involved" ADD COLUMN "faction_name" varchar NOT NULL; ALTER TABLE "game_structures_stored_resources" DROP COLUMN "grid_x"; ALTER TABLE "game_structures_stored_resources" DROP COLUMN "grid_y"; ALTER TABLE "game_structures_stored_resources" DROP COLUMN "rotated"; ALTER TABLE "game_structures" DROP COLUMN "faction_id"; ALTER TABLE "users" DROP COLUMN "discord_id"; ALTER TABLE "users" DROP COLUMN "preferences_notifications_muted_all"; ALTER TABLE "users" DROP COLUMN "preferences_display_show_callsign"; ALTER TABLE "users" DROP COLUMN "preferences_discord_enabled"; ALTER TABLE "profiles" DROP COLUMN "progression_minigames_flappy_bird_games_played"; ALTER TABLE "profiles" DROP COLUMN "progression_minigames_flappy_bird_total_passes"; ALTER TABLE "profiles" DROP COLUMN "progression_minigames_flappy_bird_best_score"; ALTER TABLE "profiles" DROP COLUMN "progression_minigames_flappy_bird_xp_earned"; ALTER TABLE "profiles_rels" DROP COLUMN "qualifications_id"; ALTER TABLE "awards" DROP COLUMN "ribbon_design"; ALTER TABLE "awards" DROP COLUMN "medal_design"; ALTER TABLE "missions_factions_involved" DROP COLUMN "faction_id"; ALTER TABLE "missions" DROP COLUMN "discord_message_id"; ALTER TABLE "missions" DROP COLUMN "discord_attendance_hash"; ALTER TABLE "missions" DROP COLUMN "cover_image_id"; ALTER TABLE "campaigns" DROP COLUMN "cover_image_id"; ALTER TABLE "factions" DROP COLUMN "reputation"; ALTER TABLE "factions" DROP COLUMN "cover_image_id"; ALTER TABLE "technologies" DROP COLUMN "approval_status"; ALTER TABLE "assets" DROP COLUMN "approval_status"; ALTER TABLE "assets" DROP COLUMN "storage_dimensions_grid_width"; ALTER TABLE "assets" DROP COLUMN "storage_dimensions_grid_height"; ALTER TABLE "assets" DROP COLUMN "storage_dimensions_stackable"; ALTER TABLE "assets" DROP COLUMN "storage_dimensions_max_stack_size"; ALTER TABLE "assets" DROP COLUMN "storage_dimensions_rotatable"; ALTER TABLE "resources" DROP COLUMN "approval_status"; ALTER TABLE "resources" DROP COLUMN "grid_width"; ALTER TABLE "resources" DROP COLUMN "grid_height"; ALTER TABLE "resources" DROP COLUMN "stackable"; ALTER TABLE "resources" DROP COLUMN "max_stack_size"; ALTER TABLE "resources" DROP COLUMN "rotatable"; ALTER TABLE "vehicles" DROP COLUMN "approval_status"; ALTER TABLE "vehicles" DROP COLUMN "fuel_fuel_type_id"; ALTER TABLE "vehicles" DROP COLUMN "fuel_fuel_capacity"; ALTER TABLE "vehicles" DROP COLUMN "fuel_fuel_consumption_rate"; ALTER TABLE "structures" DROP COLUMN "approval_status"; ALTER TABLE "structures" DROP COLUMN "restrict_to_allowed"; ALTER TABLE "narrative_events" DROP COLUMN "flow_data"; ALTER TABLE "narrative_events" DROP COLUMN "triggers_type"; ALTER TABLE "narrative_events" DROP COLUMN "triggers_condition"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "game_vehicles_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "game_npcs_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "game_event_logs_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "user_notifications_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "mission_attendances_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "shipments_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "bank_accounts_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "bank_transactions_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "ledger_entries_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "locker_storages_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "loadouts_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "market_listings_id"; ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "market_negotiations_id"; ALTER TABLE "game_rules" DROP COLUMN "proximity_threshold"; ALTER TABLE "game_rules" DROP COLUMN "game_tick_interval_minutes"; ALTER TABLE "game_rules" DROP COLUMN "locker_grid_width"; ALTER TABLE "game_rules" DROP COLUMN "locker_grid_height"; DROP TYPE "public"."enum_game_vehicles_status"; DROP TYPE "public"."enum_game_event_logs_target_collection"; DROP TYPE "public"."enum_users_preferences_notifications_muted_types"; DROP TYPE "public"."enum_users_preferences_discord_muted_types"; DROP TYPE "public"."enum_mission_attendances_response"; DROP TYPE "public"."enum_technologies_approval_status"; DROP TYPE "public"."enum_assets_skin_configuration_applies_to_asset_types"; DROP TYPE "public"."enum_assets_approval_status"; DROP TYPE "public"."enum_resources_approval_status"; DROP TYPE "public"."enum_vehicles_approval_status"; DROP TYPE "public"."enum_structures_approval_status"; DROP TYPE "public"."enum_shipments_status"; DROP TYPE "public"."enum_bank_accounts_account_type"; DROP TYPE "public"."enum_bank_accounts_status"; DROP TYPE "public"."enum_bank_transactions_type"; DROP TYPE "public"."enum_bank_transactions_status"; DROP TYPE "public"."enum_ledger_entries_type"; DROP TYPE "public"."enum_market_listings_status"; DROP TYPE "public"."enum_market_negotiations_history_from"; DROP TYPE "public"."enum_market_negotiations_status"; DROP TYPE "public"."enum_market_negotiations_proposed_by"; DROP TYPE "public"."enum_narrative_events_triggers_type";`) }