{ "id": "beacdacf-b94f-427f-95dc-564006cc2c4f", "prevId": "7ebe3527-8f72-4ffe-8ec8-9083e9029c58", "version": "6", "dialect": "sqlite", "tables": { "abacus_settings": { "name": "abacus_settings", "columns": { "user_id": { "name": "user_id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "color_scheme": { "name": "color_scheme", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'place-value'" }, "bead_shape": { "name": "bead_shape", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'diamond'" }, "color_palette": { "name": "color_palette", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'default'" }, "hide_inactive_beads": { "name": "hide_inactive_beads", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "colored_numerals": { "name": "colored_numerals", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "scale_factor": { "name": "scale_factor", "type": "real", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 1 }, "show_numbers": { "name": "show_numbers", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "animated": { "name": "animated", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "interactive": { "name": "interactive", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "gestures": { "name": "gestures", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "sound_enabled": { "name": "sound_enabled", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "sound_volume": { "name": "sound_volume", "type": "real", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0.8 } }, "indexes": {}, "foreignKeys": { "abacus_settings_user_id_users_id_fk": { "name": "abacus_settings_user_id_users_id_fk", "tableFrom": "abacus_settings", "columnsFrom": ["user_id"], "tableTo": "users", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "arcade_rooms": { "name": "arcade_rooms", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "code": { "name": "code", "type": "text(6)", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "creator_name": { "name": "creator_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_activity": { "name": "last_activity", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "ttl_minutes": { "name": "ttl_minutes", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 60 }, "is_locked": { "name": "is_locked", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "game_name": { "name": "game_name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "game_config": { "name": "game_config", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'lobby'" }, "current_session_id": { "name": "current_session_id", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "total_games_played": { "name": "total_games_played", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": { "arcade_rooms_code_unique": { "name": "arcade_rooms_code_unique", "columns": ["code"], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "arcade_sessions": { "name": "arcade_sessions", "columns": { "room_id": { "name": "room_id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "current_game": { "name": "current_game", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "game_url": { "name": "game_url", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "game_state": { "name": "game_state", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "active_players": { "name": "active_players", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "started_at": { "name": "started_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_activity_at": { "name": "last_activity_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "is_active": { "name": "is_active", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "version": { "name": "version", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 1 } }, "indexes": {}, "foreignKeys": { "arcade_sessions_room_id_arcade_rooms_id_fk": { "name": "arcade_sessions_room_id_arcade_rooms_id_fk", "tableFrom": "arcade_sessions", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" }, "arcade_sessions_user_id_users_id_fk": { "name": "arcade_sessions_user_id_users_id_fk", "tableFrom": "arcade_sessions", "columnsFrom": ["user_id"], "tableTo": "users", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "players": { "name": "players", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "emoji": { "name": "emoji", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "is_active": { "name": "is_active", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "players_user_id_idx": { "name": "players_user_id_idx", "columns": ["user_id"], "isUnique": false } }, "foreignKeys": { "players_user_id_users_id_fk": { "name": "players_user_id_users_id_fk", "tableFrom": "players", "columnsFrom": ["user_id"], "tableTo": "users", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "room_members": { "name": "room_members", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "room_id": { "name": "room_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "display_name": { "name": "display_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "is_creator": { "name": "is_creator", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "joined_at": { "name": "joined_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_seen": { "name": "last_seen", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "is_online": { "name": "is_online", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true } }, "indexes": { "idx_room_members_user_id_unique": { "name": "idx_room_members_user_id_unique", "columns": ["user_id"], "isUnique": true } }, "foreignKeys": { "room_members_room_id_arcade_rooms_id_fk": { "name": "room_members_room_id_arcade_rooms_id_fk", "tableFrom": "room_members", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "room_member_history": { "name": "room_member_history", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "room_id": { "name": "room_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "display_name": { "name": "display_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "first_joined_at": { "name": "first_joined_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_seen_at": { "name": "last_seen_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_action": { "name": "last_action", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'active'" }, "last_action_at": { "name": "last_action_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "room_member_history_room_id_arcade_rooms_id_fk": { "name": "room_member_history_room_id_arcade_rooms_id_fk", "tableFrom": "room_member_history", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "room_invitations": { "name": "room_invitations", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "room_id": { "name": "room_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_name": { "name": "user_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "invited_by": { "name": "invited_by", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "invited_by_name": { "name": "invited_by_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'pending'" }, "invitation_type": { "name": "invitation_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'manual'" }, "message": { "name": "message", "type": "text(500)", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "responded_at": { "name": "responded_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "idx_room_invitations_user_room": { "name": "idx_room_invitations_user_room", "columns": ["user_id", "room_id"], "isUnique": true } }, "foreignKeys": { "room_invitations_room_id_arcade_rooms_id_fk": { "name": "room_invitations_room_id_arcade_rooms_id_fk", "tableFrom": "room_invitations", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "room_reports": { "name": "room_reports", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "room_id": { "name": "room_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "reporter_id": { "name": "reporter_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "reporter_name": { "name": "reporter_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "reported_user_id": { "name": "reported_user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "reported_user_name": { "name": "reported_user_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "reason": { "name": "reason", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "details": { "name": "details", "type": "text(500)", "primaryKey": false, "notNull": false, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'pending'" }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "reviewed_at": { "name": "reviewed_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "reviewed_by": { "name": "reviewed_by", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "room_reports_room_id_arcade_rooms_id_fk": { "name": "room_reports_room_id_arcade_rooms_id_fk", "tableFrom": "room_reports", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "room_bans": { "name": "room_bans", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "room_id": { "name": "room_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_name": { "name": "user_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "banned_by": { "name": "banned_by", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "banned_by_name": { "name": "banned_by_name", "type": "text(50)", "primaryKey": false, "notNull": true, "autoincrement": false }, "reason": { "name": "reason", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "notes": { "name": "notes", "type": "text(500)", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "idx_room_bans_user_room": { "name": "idx_room_bans_user_room", "columns": ["user_id", "room_id"], "isUnique": true } }, "foreignKeys": { "room_bans_room_id_arcade_rooms_id_fk": { "name": "room_bans_room_id_arcade_rooms_id_fk", "tableFrom": "room_bans", "columnsFrom": ["room_id"], "tableTo": "arcade_rooms", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "user_stats": { "name": "user_stats", "columns": { "user_id": { "name": "user_id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "games_played": { "name": "games_played", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "total_wins": { "name": "total_wins", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "favorite_game_type": { "name": "favorite_game_type", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "best_time": { "name": "best_time", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "highest_accuracy": { "name": "highest_accuracy", "type": "real", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": {}, "foreignKeys": { "user_stats_user_id_users_id_fk": { "name": "user_stats_user_id_users_id_fk", "tableFrom": "user_stats", "columnsFrom": ["user_id"], "tableTo": "users", "columnsTo": ["id"], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "users": { "name": "users", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "guest_id": { "name": "guest_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "upgraded_at": { "name": "upgraded_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "users_guest_id_unique": { "name": "users_guest_id_unique", "columns": ["guest_id"], "isUnique": true }, "users_email_unique": { "name": "users_email_unique", "columns": ["email"], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} } }, "views": {}, "enums": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} }, "internal": { "indexes": {} } }