{
  "id": "423e47ca-9681-4a28-97a8-d582818cd2d7",
  "prevId": "ce701f34-3e3b-4c96-a7b0-2d2f90472e21",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.achievements": {
      "name": "achievements",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "varchar(48)",
          "primaryKey": true,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "category": {
          "name": "category",
          "type": "varchar(24)",
          "primaryKey": false,
          "notNull": true
        },
        "metric": {
          "name": "metric",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "target": {
          "name": "target",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "reward_credits": {
          "name": "reward_credits",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "reward_xp": {
          "name": "reward_xp",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "icon": {
          "name": "icon",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true,
          "default": "'star'"
        },
        "sort_order": {
          "name": "sort_order",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "enabled": {
          "name": "enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.admin_sessions": {
      "name": "admin_sessions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "admin_id": {
          "name": "admin_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "token_hash": {
          "name": "token_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "admin_sessions_token_idx": {
          "name": "admin_sessions_token_idx",
          "columns": [
            {
              "expression": "token_hash",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "admin_sessions_admin_id_admin_users_id_fk": {
          "name": "admin_sessions_admin_id_admin_users_id_fk",
          "tableFrom": "admin_sessions",
          "tableTo": "admin_users",
          "columnsFrom": [
            "admin_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.admin_users": {
      "name": "admin_users",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "username": {
          "name": "username",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "password_hash": {
          "name": "password_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "totp_secret": {
          "name": "totp_secret",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "role": {
          "name": "role",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true,
          "default": "'admin'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "last_login_at": {
          "name": "last_login_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "disabled": {
          "name": "disabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        }
      },
      "indexes": {
        "admin_users_username_idx": {
          "name": "admin_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.crash_rounds": {
      "name": "crash_rounds",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "round_id": {
          "name": "round_id",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_slug": {
          "name": "game_slug",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "game_version": {
          "name": "game_version",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "client_round_id": {
          "name": "client_round_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "bet": {
          "name": "bet",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "crash_multiplier": {
          "name": "crash_multiplier",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "crash_at_ms": {
          "name": "crash_at_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "seed": {
          "name": "seed",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "commitment": {
          "name": "commitment",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "events": {
          "name": "events",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'[]'::jsonb"
        },
        "auto_cashout": {
          "name": "auto_cashout",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "varchar(12)",
          "primaryKey": false,
          "notNull": true,
          "default": "'running'"
        },
        "cashout_multiplier": {
          "name": "cashout_multiplier",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": false
        },
        "win": {
          "name": "win",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "started_at": {
          "name": "started_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "settled_at": {
          "name": "settled_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "crash_rounds_round_id_idx": {
          "name": "crash_rounds_round_id_idx",
          "columns": [
            {
              "expression": "round_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "crash_rounds_user_client_idx": {
          "name": "crash_rounds_user_client_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "client_round_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "crash_rounds_user_status_idx": {
          "name": "crash_rounds_user_status_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "crash_rounds_user_id_users_id_fk": {
          "name": "crash_rounds_user_id_users_id_fk",
          "tableFrom": "crash_rounds",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "crash_rounds_game_id_games_id_fk": {
          "name": "crash_rounds_game_id_games_id_fk",
          "tableFrom": "crash_rounds",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.credit_transactions": {
      "name": "credit_transactions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "varchar(24)",
          "primaryKey": false,
          "notNull": true
        },
        "amount": {
          "name": "amount",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "balance_after": {
          "name": "balance_after",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "reference": {
          "name": "reference",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "meta": {
          "name": "meta",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "ctx_user_created_idx": {
          "name": "ctx_user_created_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "ctx_type_idx": {
          "name": "ctx_type_idx",
          "columns": [
            {
              "expression": "type",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "ctx_reference_idx": {
          "name": "ctx_reference_idx",
          "columns": [
            {
              "expression": "reference",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "credit_transactions_user_id_users_id_fk": {
          "name": "credit_transactions_user_id_users_id_fk",
          "tableFrom": "credit_transactions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.daily_rewards": {
      "name": "daily_rewards",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "streak_day": {
          "name": "streak_day",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "last_claimed_at": {
          "name": "last_claimed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "next_available_at": {
          "name": "next_available_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "total_claimed": {
          "name": "total_claimed",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "claims": {
          "name": "claims",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        }
      },
      "indexes": {},
      "foreignKeys": {
        "daily_rewards_user_id_users_id_fk": {
          "name": "daily_rewards_user_id_users_id_fk",
          "tableFrom": "daily_rewards",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.favorites": {
      "name": "favorites",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "favorites_user_id_users_id_fk": {
          "name": "favorites_user_id_users_id_fk",
          "tableFrom": "favorites",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "favorites_game_id_games_id_fk": {
          "name": "favorites_game_id_games_id_fk",
          "tableFrom": "favorites",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "favorites_user_id_game_id_pk": {
          "name": "favorites_user_id_game_id_pk",
          "columns": [
            "user_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.feature_flags": {
      "name": "feature_flags",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "varchar(64)",
          "primaryKey": true,
          "notNull": true
        },
        "enabled": {
          "name": "enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.game_rounds": {
      "name": "game_rounds",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "round_id": {
          "name": "round_id",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_slug": {
          "name": "game_slug",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "game_version": {
          "name": "game_version",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "client_round_id": {
          "name": "client_round_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "bet": {
          "name": "bet",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "win": {
          "name": "win",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "multiplier": {
          "name": "multiplier",
          "type": "numeric(12, 4)",
          "primaryKey": false,
          "notNull": true
        },
        "balance_after": {
          "name": "balance_after",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "result": {
          "name": "result",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "features": {
          "name": "features",
          "type": "text[]",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::text[]"
        },
        "free_spins": {
          "name": "free_spins",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "bonus": {
          "name": "bonus",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "jackpot_tier": {
          "name": "jackpot_tier",
          "type": "varchar(8)",
          "primaryKey": false,
          "notNull": false
        },
        "rng_reference": {
          "name": "rng_reference",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "duration_ms": {
          "name": "duration_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "game_rounds_round_id_idx": {
          "name": "game_rounds_round_id_idx",
          "columns": [
            {
              "expression": "round_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "game_rounds_user_client_idx": {
          "name": "game_rounds_user_client_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "client_round_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "game_rounds_user_created_idx": {
          "name": "game_rounds_user_created_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "game_rounds_game_created_idx": {
          "name": "game_rounds_game_created_idx",
          "columns": [
            {
              "expression": "game_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "game_rounds_created_idx": {
          "name": "game_rounds_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "game_rounds_win_idx": {
          "name": "game_rounds_win_idx",
          "columns": [
            {
              "expression": "win",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "game_rounds_user_id_users_id_fk": {
          "name": "game_rounds_user_id_users_id_fk",
          "tableFrom": "game_rounds",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "game_rounds_game_id_games_id_fk": {
          "name": "game_rounds_game_id_games_id_fk",
          "tableFrom": "game_rounds",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.game_states": {
      "name": "game_states",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "state": {
          "name": "state",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "game_states_user_id_users_id_fk": {
          "name": "game_states_user_id_users_id_fk",
          "tableFrom": "game_states",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "game_states_game_id_games_id_fk": {
          "name": "game_states_game_id_games_id_fk",
          "tableFrom": "game_states",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "game_states_user_id_game_id_pk": {
          "name": "game_states_user_id_game_id_pk",
          "columns": [
            "user_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.game_statistics": {
      "name": "game_statistics",
      "schema": "",
      "columns": {
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "launches": {
          "name": "launches",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "spins": {
          "name": "spins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "wagered": {
          "name": "wagered",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "won": {
          "name": "won",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "wins": {
          "name": "wins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "bonuses": {
          "name": "bonuses",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "free_spins": {
          "name": "free_spins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "big_wins": {
          "name": "big_wins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "max_win": {
          "name": "max_win",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "max_multiplier": {
          "name": "max_multiplier",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "favorites": {
          "name": "favorites",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "game_statistics_game_id_games_id_fk": {
          "name": "game_statistics_game_id_games_id_fk",
          "tableFrom": "game_statistics",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.game_versions": {
      "name": "game_versions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "version": {
          "name": "version",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "definition": {
          "name": "definition",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "definition_hash": {
          "name": "definition_hash",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "certification": {
          "name": "certification",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true,
          "default": "'draft'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "game_versions_game_version_idx": {
          "name": "game_versions_game_version_idx",
          "columns": [
            {
              "expression": "game_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "version",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "game_versions_game_id_games_id_fk": {
          "name": "game_versions_game_id_games_id_fk",
          "tableFrom": "game_versions",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.games": {
      "name": "games",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "slug": {
          "name": "slug",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true
        },
        "version": {
          "name": "version",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "lifecycle": {
          "name": "lifecycle",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true,
          "default": "'draft'"
        },
        "sort_order": {
          "name": "sort_order",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "is_featured": {
          "name": "is_featured",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "is_new": {
          "name": "is_new",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "summary": {
          "name": "summary",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "published_at": {
          "name": "published_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "games_slug_idx": {
          "name": "games_slug_idx",
          "columns": [
            {
              "expression": "slug",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.leaderboards": {
      "name": "leaderboards",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "category": {
          "name": "category",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "period_key": {
          "name": "period_key",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "value": {
          "name": "value",
          "type": "numeric(18, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "game_slug": {
          "name": "game_slug",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false
        },
        "round_id": {
          "name": "round_id",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "leaderboards_unique_idx": {
          "name": "leaderboards_unique_idx",
          "columns": [
            {
              "expression": "category",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "period_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "leaderboards_rank_idx": {
          "name": "leaderboards_rank_idx",
          "columns": [
            {
              "expression": "category",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "period_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "value",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "leaderboards_user_id_users_id_fk": {
          "name": "leaderboards_user_id_users_id_fk",
          "tableFrom": "leaderboards",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.missions": {
      "name": "missions",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "varchar(48)",
          "primaryKey": true,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "period": {
          "name": "period",
          "type": "varchar(8)",
          "primaryKey": false,
          "notNull": true
        },
        "metric": {
          "name": "metric",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true
        },
        "target": {
          "name": "target",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "reward_credits": {
          "name": "reward_credits",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "reward_xp": {
          "name": "reward_xp",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "enabled": {
          "name": "enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "sort_order": {
          "name": "sort_order",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.platform_settings": {
      "name": "platform_settings",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "varchar(64)",
          "primaryKey": true,
          "notNull": true
        },
        "value": {
          "name": "value",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.player_levels": {
      "name": "player_levels",
      "schema": "",
      "columns": {
        "level": {
          "name": "level",
          "type": "integer",
          "primaryKey": true,
          "notNull": true
        },
        "xp_required": {
          "name": "xp_required",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "xp_cumulative": {
          "name": "xp_cumulative",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "reward_credits": {
          "name": "reward_credits",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "varchar(48)",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.recovery_codes": {
      "name": "recovery_codes",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "code_hash": {
          "name": "code_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "rotated_at": {
          "name": "rotated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "used_at": {
          "name": "used_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "use_count": {
          "name": "use_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        }
      },
      "indexes": {},
      "foreignKeys": {
        "recovery_codes_user_id_users_id_fk": {
          "name": "recovery_codes_user_id_users_id_fk",
          "tableFrom": "recovery_codes",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.security_events": {
      "name": "security_events",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "admin_id": {
          "name": "admin_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "type": {
          "name": "type",
          "type": "varchar(48)",
          "primaryKey": false,
          "notNull": true
        },
        "severity": {
          "name": "severity",
          "type": "varchar(8)",
          "primaryKey": false,
          "notNull": true,
          "default": "'info'"
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "meta": {
          "name": "meta",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "security_events_created_idx": {
          "name": "security_events_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "security_events_type_idx": {
          "name": "security_events_type_idx",
          "columns": [
            {
              "expression": "type",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "security_events_user_idx": {
          "name": "security_events_user_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "security_events_user_id_users_id_fk": {
          "name": "security_events_user_id_users_id_fk",
          "tableFrom": "security_events",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.sessions": {
      "name": "sessions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "token_hash": {
          "name": "token_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "expires_at": {
          "name": "expires_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,
          "default": "now()"
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "ip": {
          "name": "ip",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "sessions_token_hash_idx": {
          "name": "sessions_token_hash_idx",
          "columns": [
            {
              "expression": "token_hash",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "sessions_user_idx": {
          "name": "sessions_user_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.simulation_runs": {
      "name": "simulation_runs",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "game_slug": {
          "name": "game_slug",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true
        },
        "game_version": {
          "name": "game_version",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "spins": {
          "name": "spins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true,
          "default": "'running'"
        },
        "progress": {
          "name": "progress",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "result": {
          "name": "result",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "error": {
          "name": "error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "requested_by": {
          "name": "requested_by",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "finished_at": {
          "name": "finished_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "simulation_runs_game_idx": {
          "name": "simulation_runs_game_idx",
          "columns": [
            {
              "expression": "game_slug",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "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_achievements": {
      "name": "user_achievements",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "achievement_key": {
          "name": "achievement_key",
          "type": "varchar(48)",
          "primaryKey": false,
          "notNull": true
        },
        "unlocked_at": {
          "name": "unlocked_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_achievements_user_id_users_id_fk": {
          "name": "user_achievements_user_id_users_id_fk",
          "tableFrom": "user_achievements",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_achievements_achievement_key_achievements_key_fk": {
          "name": "user_achievements_achievement_key_achievements_key_fk",
          "tableFrom": "user_achievements",
          "tableTo": "achievements",
          "columnsFrom": [
            "achievement_key"
          ],
          "columnsTo": [
            "key"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "user_achievements_user_id_achievement_key_pk": {
          "name": "user_achievements_user_id_achievement_key_pk",
          "columns": [
            "user_id",
            "achievement_key"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_game_stats": {
      "name": "user_game_stats",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "spins": {
          "name": "spins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "wagered": {
          "name": "wagered",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "won": {
          "name": "won",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "bonuses": {
          "name": "bonuses",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "biggest_win": {
          "name": "biggest_win",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "biggest_multiplier": {
          "name": "biggest_multiplier",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "last_played_at": {
          "name": "last_played_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "first_played_at": {
          "name": "first_played_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "ugs_user_last_idx": {
          "name": "ugs_user_last_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "last_played_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "user_game_stats_user_id_users_id_fk": {
          "name": "user_game_stats_user_id_users_id_fk",
          "tableFrom": "user_game_stats",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_game_stats_game_id_games_id_fk": {
          "name": "user_game_stats_game_id_games_id_fk",
          "tableFrom": "user_game_stats",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "user_game_stats_user_id_game_id_pk": {
          "name": "user_game_stats_user_id_game_id_pk",
          "columns": [
            "user_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_missions": {
      "name": "user_missions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "mission_key": {
          "name": "mission_key",
          "type": "varchar(48)",
          "primaryKey": false,
          "notNull": true
        },
        "period_key": {
          "name": "period_key",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true
        },
        "progress": {
          "name": "progress",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "progress_set": {
          "name": "progress_set",
          "type": "text[]",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::text[]"
        },
        "completed_at": {
          "name": "completed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "claimed_at": {
          "name": "claimed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {
        "user_missions_unique_idx": {
          "name": "user_missions_unique_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "mission_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "period_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "user_missions_user_idx": {
          "name": "user_missions_user_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "user_missions_user_id_users_id_fk": {
          "name": "user_missions_user_id_users_id_fk",
          "tableFrom": "user_missions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_missions_mission_key_missions_key_fk": {
          "name": "user_missions_mission_key_missions_key_fk",
          "tableFrom": "user_missions",
          "tableTo": "missions",
          "columnsFrom": [
            "mission_key"
          ],
          "columnsTo": [
            "key"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_settings": {
      "name": "user_settings",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "sound_enabled": {
          "name": "sound_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "music_volume": {
          "name": "music_volume",
          "type": "numeric(3, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0.6'"
        },
        "effects_volume": {
          "name": "effects_volume",
          "type": "numeric(3, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0.8'"
        },
        "master_volume": {
          "name": "master_volume",
          "type": "numeric(3, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0.8'"
        },
        "reduce_motion": {
          "name": "reduce_motion",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "animation_intensity": {
          "name": "animation_intensity",
          "type": "varchar(8)",
          "primaryKey": false,
          "notNull": true,
          "default": "'high'"
        },
        "session_reminder_minutes": {
          "name": "session_reminder_minutes",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 60
        },
        "break_reminder": {
          "name": "break_reminder",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "leaderboard_opt_in": {
          "name": "leaderboard_opt_in",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_settings_user_id_users_id_fk": {
          "name": "user_settings_user_id_users_id_fk",
          "tableFrom": "user_settings",
          "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": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "username": {
          "name": "username",
          "type": "varchar(24)",
          "primaryKey": false,
          "notNull": true
        },
        "username_normalized": {
          "name": "username_normalized",
          "type": "varchar(24)",
          "primaryKey": false,
          "notNull": true
        },
        "password_hash": {
          "name": "password_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "level": {
          "name": "level",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 1
        },
        "xp": {
          "name": "xp",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "status": {
          "name": "status",
          "type": "varchar(16)",
          "primaryKey": false,
          "notNull": true,
          "default": "'active'"
        },
        "age_confirmed_at": {
          "name": "age_confirmed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "last_login_at": {
          "name": "last_login_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "last_rescue_at": {
          "name": "last_rescue_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "total_spins": {
          "name": "total_spins",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "games_played": {
          "name": "games_played",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "biggest_win": {
          "name": "biggest_win",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "biggest_multiplier": {
          "name": "biggest_multiplier",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        }
      },
      "indexes": {
        "users_username_normalized_idx": {
          "name": "users_username_normalized_idx",
          "columns": [
            {
              "expression": "username_normalized",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "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.wallets": {
      "name": "wallets",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "balance": {
          "name": "balance",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "lifetime_wagered": {
          "name": "lifetime_wagered",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "lifetime_won": {
          "name": "lifetime_won",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "lifetime_granted": {
          "name": "lifetime_granted",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "wallets_user_id_users_id_fk": {
          "name": "wallets_user_id_users_id_fk",
          "tableFrom": "wallets",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    }
  },
  "enums": {},
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}