{ "id": "4af3e5bc-672d-47b4-a475-ea4238049c48", "prevId": "87f348f9-8e23-4ffe-9d54-f4516dd4192f", "version": "7", "dialect": "postgresql", "tables": { "public.assets": { "name": "assets", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "uploaded_by_user_id": { "name": "uploaded_by_user_id", "type": "uuid", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "filename": { "name": "filename", "type": "text", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "text", "primaryKey": false, "notNull": false }, "size": { "name": "size", "type": "integer", "primaryKey": false, "notNull": false }, "cdn_key": { "name": "cdn_key", "type": "text", "primaryKey": false, "notNull": true }, "alt_text": { "name": "alt_text", "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": { "assets_site_id_idx": { "name": "assets_site_id_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "assets_cdn_key_idx": { "name": "assets_cdn_key_idx", "columns": [ { "expression": "cdn_key", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "assets_site_id_sites_id_fk": { "name": "assets_site_id_sites_id_fk", "tableFrom": "assets", "tableTo": "sites", "columnsFrom": [ "site_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "assets_uploaded_by_user_id_users_id_fk": { "name": "assets_uploaded_by_user_id_users_id_fk", "tableFrom": "assets", "tableTo": "users", "columnsFrom": [ "uploaded_by_user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.events": { "name": "events", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "event_type": { "name": "event_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'screening'" }, "start_time": { "name": "start_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_time": { "name": "end_time", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "timezone": { "name": "timezone", "type": "text", "primaryKey": false, "notNull": true, "default": "'America/New_York'" }, "location": { "name": "location", "type": "text", "primaryKey": false, "notNull": false }, "external_link": { "name": "external_link", "type": "text", "primaryKey": false, "notNull": false }, "image_cdn_key": { "name": "image_cdn_key", "type": "text", "primaryKey": false, "notNull": false }, "is_published": { "name": "is_published", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_recurring": { "name": "is_recurring", "type": "boolean", "primaryKey": false, "notNull": true, "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": { "events_site_start_idx": { "name": "events_site_start_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "start_time", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "events_site_published_idx": { "name": "events_site_published_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "is_published", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "events_site_id_sites_id_fk": { "name": "events_site_id_sites_id_fk", "tableFrom": "events", "tableTo": "sites", "columnsFrom": [ "site_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.memberships": { "name": "memberships", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "role", "typeSchema": "public", "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": { "memberships_site_user_idx": { "name": "memberships_site_user_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "memberships_site_id_idx": { "name": "memberships_site_id_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "memberships_user_id_idx": { "name": "memberships_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "memberships_site_id_sites_id_fk": { "name": "memberships_site_id_sites_id_fk", "tableFrom": "memberships", "tableTo": "sites", "columnsFrom": [ "site_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "memberships_user_id_users_id_fk": { "name": "memberships_user_id_users_id_fk", "tableFrom": "memberships", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.nav_links": { "name": "nav_links", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "position": { "name": "position", "type": "text", "primaryKey": false, "notNull": true, "default": "'header'" }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "is_external": { "name": "is_external", "type": "boolean", "primaryKey": false, "notNull": true, "default": 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": { "nav_links_site_position_order_idx": { "name": "nav_links_site_position_order_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "position", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "sort_order", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "nav_links_site_id_sites_id_fk": { "name": "nav_links_site_id_sites_id_fk", "tableFrom": "nav_links", "tableTo": "sites", "columnsFrom": [ "site_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.site_settings": { "name": "site_settings", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "settings": { "name": "settings", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" }, "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": { "site_settings_site_id_idx": { "name": "site_settings_site_id_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "site_settings_site_id_sites_id_fk": { "name": "site_settings_site_id_sites_id_fk", "tableFrom": "site_settings", "tableTo": "sites", "columnsFrom": [ "site_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "site_settings_site_id_unique": { "name": "site_settings_site_id_unique", "nullsNotDistinct": false, "columns": [ "site_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sites": { "name": "sites", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": 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": { "sites_slug_idx": { "name": "sites_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "sites_slug_unique": { "name": "sites_slug_unique", "nullsNotDistinct": false, "columns": [ "slug" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.social_links": { "name": "social_links", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "site_id": { "name": "site_id", "type": "uuid", "primaryKey": false, "notNull": true }, "platform": { "name": "platform", "type": "text", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": false }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "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": { "social_links_site_order_idx": { "name": "social_links_site_order_idx", "columns": [ { "expression": "site_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "sort_order", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "social_links_site_id_sites_id_fk": { "name": "social_links_site_id_sites_id_fk", "tableFrom": "social_links", "tableTo": "sites", "columnsFrom": [ "site_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()" }, "discord_id": { "name": "discord_id", "type": "text", "primaryKey": false, "notNull": true }, "discord_username": { "name": "discord_username", "type": "text", "primaryKey": false, "notNull": false }, "discord_avatar": { "name": "discord_avatar", "type": "text", "primaryKey": false, "notNull": false }, "email": { "name": "email", "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()" }, "last_login_at": { "name": "last_login_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": { "users_discord_id_idx": { "name": "users_discord_id_idx", "columns": [ { "expression": "discord_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "users_discord_id_unique": { "name": "users_discord_id_unique", "nullsNotDistinct": false, "columns": [ "discord_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.role": { "name": "role", "schema": "public", "values": [ "owner", "admin", "editor" ] } }, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }