{
  "id": "e120d11a-bf28-4c96-9f2f-96e23e23c7e2",
  "prevId": "00000000-0000-0000-0000-000000000000",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.categories": {
      "name": "categories",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "categories_cuid_unique": {
          "name": "categories_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.categories_to_external_ids": {
      "name": "categories_to_external_ids",
      "schema": "",
      "columns": {
        "category_id": {
          "name": "category_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "external_id": {
          "name": "external_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "categories_to_external_ids_category_id_categories_id_fk": {
          "name": "categories_to_external_ids_category_id_categories_id_fk",
          "tableFrom": "categories_to_external_ids",
          "tableTo": "categories",
          "columnsFrom": [
            "category_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "categories_to_external_ids_external_id_external_ids_id_fk": {
          "name": "categories_to_external_ids_external_id_external_ids_id_fk",
          "tableFrom": "categories_to_external_ids",
          "tableTo": "external_ids",
          "columnsFrom": [
            "external_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "categories_to_external_ids_category_id_external_id_pk": {
          "name": "categories_to_external_ids_category_id_external_id_pk",
          "columns": [
            "category_id",
            "external_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.categories_to_games": {
      "name": "categories_to_games",
      "schema": "",
      "columns": {
        "category_id": {
          "name": "category_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "categories_to_games_category_id_categories_id_fk": {
          "name": "categories_to_games_category_id_categories_id_fk",
          "tableFrom": "categories_to_games",
          "tableTo": "categories",
          "columnsFrom": [
            "category_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "categories_to_games_game_id_games_id_fk": {
          "name": "categories_to_games_game_id_games_id_fk",
          "tableFrom": "categories_to_games",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "categories_to_games_category_id_game_id_pk": {
          "name": "categories_to_games_category_id_game_id_pk",
          "columns": [
            "category_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.collection_items": {
      "name": "collection_items",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "collection_id": {
          "name": "collection_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "times_played": {
          "name": "times_played",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "collection_items_collection_id_collections_id_fk": {
          "name": "collection_items_collection_id_collections_id_fk",
          "tableFrom": "collection_items",
          "tableTo": "collections",
          "columnsFrom": [
            "collection_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "collection_items_game_id_games_id_fk": {
          "name": "collection_items_game_id_games_id_fk",
          "tableFrom": "collection_items",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "collection_items_cuid_unique": {
          "name": "collection_items_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.collections": {
      "name": "collections",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'My Collection'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "collections_user_id_users_id_fk": {
          "name": "collections_user_id_users_id_fk",
          "tableFrom": "collections",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "collections_cuid_unique": {
          "name": "collections_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.expansions": {
      "name": "expansions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "base_game_id": {
          "name": "base_game_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()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "expansions_base_game_id_games_id_fk": {
          "name": "expansions_base_game_id_games_id_fk",
          "tableFrom": "expansions",
          "tableTo": "games",
          "columnsFrom": [
            "base_game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "expansions_game_id_games_id_fk": {
          "name": "expansions_game_id_games_id_fk",
          "tableFrom": "expansions",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "expansions_cuid_unique": {
          "name": "expansions_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.external_ids": {
      "name": "external_ids",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "type": {
          "name": "type",
          "type": "external_id_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": false
        },
        "external_id": {
          "name": "external_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "external_ids_cuid_unique": {
          "name": "external_ids_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.games": {
      "name": "games",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "year_published": {
          "name": "year_published",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "min_players": {
          "name": "min_players",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "max_players": {
          "name": "max_players",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "playtime": {
          "name": "playtime",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "min_playtime": {
          "name": "min_playtime",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "max_playtime": {
          "name": "max_playtime",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "min_age": {
          "name": "min_age",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "image_url": {
          "name": "image_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "thumb_url": {
          "name": "thumb_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "url": {
          "name": "url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "last_sync_at": {
          "name": "last_sync_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "search_index": {
          "name": "search_index",
          "columns": [
            {
              "expression": "(\n\t\t\t\tsetweight(to_tsvector('english', \"name\"), 'A') ||\n        setweight(to_tsvector('english', \"slug\"), 'B')\n      )",
              "asc": true,
              "isExpression": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "gin",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "games_cuid_unique": {
          "name": "games_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.games_to_external_ids": {
      "name": "games_to_external_ids",
      "schema": "",
      "columns": {
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "external_id": {
          "name": "external_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "games_to_external_ids_game_id_games_id_fk": {
          "name": "games_to_external_ids_game_id_games_id_fk",
          "tableFrom": "games_to_external_ids",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "games_to_external_ids_external_id_external_ids_id_fk": {
          "name": "games_to_external_ids_external_id_external_ids_id_fk",
          "tableFrom": "games_to_external_ids",
          "tableTo": "external_ids",
          "columnsFrom": [
            "external_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "games_to_external_ids_game_id_external_id_pk": {
          "name": "games_to_external_ids_game_id_external_id_pk",
          "columns": [
            "game_id",
            "external_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.mechanics": {
      "name": "mechanics",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "mechanics_cuid_unique": {
          "name": "mechanics_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.mechanics_to_external_ids": {
      "name": "mechanics_to_external_ids",
      "schema": "",
      "columns": {
        "mechanic_id": {
          "name": "mechanic_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "external_id": {
          "name": "external_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "mechanics_to_external_ids_mechanic_id_mechanics_id_fk": {
          "name": "mechanics_to_external_ids_mechanic_id_mechanics_id_fk",
          "tableFrom": "mechanics_to_external_ids",
          "tableTo": "mechanics",
          "columnsFrom": [
            "mechanic_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "mechanics_to_external_ids_external_id_external_ids_id_fk": {
          "name": "mechanics_to_external_ids_external_id_external_ids_id_fk",
          "tableFrom": "mechanics_to_external_ids",
          "tableTo": "external_ids",
          "columnsFrom": [
            "external_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "mechanics_to_external_ids_mechanic_id_external_id_pk": {
          "name": "mechanics_to_external_ids_mechanic_id_external_id_pk",
          "columns": [
            "mechanic_id",
            "external_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.mechanics_to_games": {
      "name": "mechanics_to_games",
      "schema": "",
      "columns": {
        "mechanic_id": {
          "name": "mechanic_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "mechanics_to_games_mechanic_id_mechanics_id_fk": {
          "name": "mechanics_to_games_mechanic_id_mechanics_id_fk",
          "tableFrom": "mechanics_to_games",
          "tableTo": "mechanics",
          "columnsFrom": [
            "mechanic_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "mechanics_to_games_game_id_games_id_fk": {
          "name": "mechanics_to_games_game_id_games_id_fk",
          "tableFrom": "mechanics_to_games",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "mechanics_to_games_mechanic_id_game_id_pk": {
          "name": "mechanics_to_games_mechanic_id_game_id_pk",
          "columns": [
            "mechanic_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.password_reset_tokens": {
      "name": "password_reset_tokens",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "password_reset_tokens_user_id_users_id_fk": {
          "name": "password_reset_tokens_user_id_users_id_fk",
          "tableFrom": "password_reset_tokens",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {}
    },
    "public.publishers": {
      "name": "publishers",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "publishers_cuid_unique": {
          "name": "publishers_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.publishers_to_external_ids": {
      "name": "publishers_to_external_ids",
      "schema": "",
      "columns": {
        "publisher_id": {
          "name": "publisher_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "external_id": {
          "name": "external_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "publishers_to_external_ids_publisher_id_publishers_id_fk": {
          "name": "publishers_to_external_ids_publisher_id_publishers_id_fk",
          "tableFrom": "publishers_to_external_ids",
          "tableTo": "publishers",
          "columnsFrom": [
            "publisher_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "publishers_to_external_ids_external_id_external_ids_id_fk": {
          "name": "publishers_to_external_ids_external_id_external_ids_id_fk",
          "tableFrom": "publishers_to_external_ids",
          "tableTo": "external_ids",
          "columnsFrom": [
            "external_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "publishers_to_external_ids_publisher_id_external_id_pk": {
          "name": "publishers_to_external_ids_publisher_id_external_id_pk",
          "columns": [
            "publisher_id",
            "external_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.publishers_to_games": {
      "name": "publishers_to_games",
      "schema": "",
      "columns": {
        "publisher_id": {
          "name": "publisher_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "game_id": {
          "name": "game_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "publishers_to_games_publisher_id_publishers_id_fk": {
          "name": "publishers_to_games_publisher_id_publishers_id_fk",
          "tableFrom": "publishers_to_games",
          "tableTo": "publishers",
          "columnsFrom": [
            "publisher_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        },
        "publishers_to_games_game_id_games_id_fk": {
          "name": "publishers_to_games_game_id_games_id_fk",
          "tableFrom": "publishers_to_games",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "cascade"
        }
      },
      "compositePrimaryKeys": {
        "publishers_to_games_publisher_id_game_id_pk": {
          "name": "publishers_to_games_publisher_id_game_id_pk",
          "columns": [
            "publisher_id",
            "game_id"
          ]
        }
      },
      "uniqueConstraints": {}
    },
    "public.recovery_codes": {
      "name": "recovery_codes",
      "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
        },
        "code": {
          "name": "code",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "used": {
          "name": "used",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "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": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {}
    },
    "public.roles": {
      "name": "roles",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "roles_cuid_unique": {
          "name": "roles_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        },
        "roles_name_unique": {
          "name": "roles_name_unique",
          "nullsNotDistinct": false,
          "columns": [
            "name"
          ]
        }
      }
    },
    "public.sessions": {
      "name": "sessions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "ip_country": {
          "name": "ip_country",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "ip_address": {
          "name": "ip_address",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "two_factor_auth_enabled": {
          "name": "two_factor_auth_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "is_two_factor_authenticated": {
          "name": "is_two_factor_authenticated",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "sessions_user_id_users_id_fk": {
          "name": "sessions_user_id_users_id_fk",
          "tableFrom": "sessions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {}
    },
    "public.two_factor": {
      "name": "two_factor",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "two_factor_secret": {
          "name": "two_factor_secret",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "two_factor_enabled": {
          "name": "two_factor_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "initiated_time": {
          "name": "initiated_time",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "two_factor_user_id_users_id_fk": {
          "name": "two_factor_user_id_users_id_fk",
          "tableFrom": "two_factor",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "two_factor_cuid_unique": {
          "name": "two_factor_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        },
        "two_factor_user_id_unique": {
          "name": "two_factor_user_id_unique",
          "nullsNotDistinct": false,
          "columns": [
            "user_id"
          ]
        }
      }
    },
    "public.user_roles": {
      "name": "user_roles",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "role_id": {
          "name": "role_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "primary": {
          "name": "primary",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_roles_user_id_users_id_fk": {
          "name": "user_roles_user_id_users_id_fk",
          "tableFrom": "user_roles",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_roles_role_id_roles_id_fk": {
          "name": "user_roles_role_id_roles_id_fk",
          "tableFrom": "user_roles",
          "tableTo": "roles",
          "columnsFrom": [
            "role_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "user_roles_cuid_unique": {
          "name": "user_roles_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.users": {
      "name": "users",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "username": {
          "name": "username",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "hashed_password": {
          "name": "hashed_password",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "first_name": {
          "name": "first_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "last_name": {
          "name": "last_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "verified": {
          "name": "verified",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "receive_email": {
          "name": "receive_email",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "theme": {
          "name": "theme",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'system'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "users_cuid_unique": {
          "name": "users_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        },
        "users_username_unique": {
          "name": "users_username_unique",
          "nullsNotDistinct": false,
          "columns": [
            "username"
          ]
        },
        "users_email_unique": {
          "name": "users_email_unique",
          "nullsNotDistinct": false,
          "columns": [
            "email"
          ]
        }
      }
    },
    "public.wishlist_items": {
      "name": "wishlist_items",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "wishlist_id": {
          "name": "wishlist_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()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "wishlist_items_wishlist_id_wishlists_id_fk": {
          "name": "wishlist_items_wishlist_id_wishlists_id_fk",
          "tableFrom": "wishlist_items",
          "tableTo": "wishlists",
          "columnsFrom": [
            "wishlist_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "wishlist_items_game_id_games_id_fk": {
          "name": "wishlist_items_game_id_games_id_fk",
          "tableFrom": "wishlist_items",
          "tableTo": "games",
          "columnsFrom": [
            "game_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "wishlist_items_cuid_unique": {
          "name": "wishlist_items_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    },
    "public.wishlists": {
      "name": "wishlists",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "cuid": {
          "name": "cuid",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'My Wishlist'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "wishlists_user_id_users_id_fk": {
          "name": "wishlists_user_id_users_id_fk",
          "tableFrom": "wishlists",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "wishlists_cuid_unique": {
          "name": "wishlists_cuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "cuid"
          ]
        }
      }
    }
  },
  "enums": {
    "public.external_id_type": {
      "name": "external_id_type",
      "schema": "public",
      "values": [
        "game",
        "category",
        "mechanic",
        "publisher",
        "designer",
        "artist"
      ]
    }
  },
  "schemas": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}