{ "id": "96a0e6d2-35c5-43d6-a335-f066f56d6b42", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", "tables": { "public.articles": { "name": "articles", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "excerpt": { "name": "excerpt", "type": "text", "primaryKey": false, "notNull": false }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "tags": { "name": "tags", "type": "text[]", "primaryKey": false, "notNull": false, "default": "'{}'" }, "publish_date": { "name": "publish_date", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "author": { "name": "author", "type": "text", "primaryKey": false, "notNull": false }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": false }, "featured": { "name": "featured", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "articles_slug_idx": { "name": "articles_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "articles_publish_date_idx": { "name": "articles_publish_date_idx", "columns": [ { "expression": "publish_date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "articles_featured_idx": { "name": "articles_featured_idx", "columns": [ { "expression": "featured", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "articles_image_files_id_fk": { "name": "articles_image_files_id_fk", "tableFrom": "articles", "tableTo": "files", "columnsFrom": [ "image" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "articles_author_users_id_fk": { "name": "articles_author_users_id_fk", "tableFrom": "articles", "tableTo": "users", "columnsFrom": [ "author" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.comments": { "name": "comments", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "comments_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "collection": { "name": "collection", "type": "text", "primaryKey": false, "notNull": true }, "item_id": { "name": "item_id", "type": "text", "primaryKey": false, "notNull": true }, "comment": { "name": "comment", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "comments_collection_item_idx": { "name": "comments_collection_item_idx", "columns": [ { "expression": "collection", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "item_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "comments_user_idx": { "name": "comments_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "comments_user_id_users_id_fk": { "name": "comments_user_id_users_id_fk", "tableFrom": "comments", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.files": { "name": "files", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "filename": { "name": "filename", "type": "text", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "text", "primaryKey": false, "notNull": false }, "filesize": { "name": "filesize", "type": "bigint", "primaryKey": false, "notNull": false }, "duration": { "name": "duration", "type": "integer", "primaryKey": false, "notNull": false }, "uploaded_by": { "name": "uploaded_by", "type": "text", "primaryKey": false, "notNull": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "files_uploaded_by_idx": { "name": "files_uploaded_by_idx", "columns": [ { "expression": "uploaded_by", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.achievements": { "name": "achievements", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": false }, "required_count": { "name": "required_count", "type": "integer", "primaryKey": false, "notNull": true, "default": 1 }, "points_reward": { "name": "points_reward", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "status": { "name": "status", "type": "achievement_status", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'published'" }, "sort": { "name": "sort", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 } }, "indexes": { "achievements_code_idx": { "name": "achievements_code_idx", "columns": [ { "expression": "code", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_achievements": { "name": "user_achievements", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "user_achievements_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "achievement_id": { "name": "achievement_id", "type": "text", "primaryKey": false, "notNull": true }, "progress": { "name": "progress", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "date_unlocked": { "name": "date_unlocked", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "user_achievements_user_idx": { "name": "user_achievements_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_achievements_unique_idx": { "name": "user_achievements_unique_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "achievement_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "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_id_achievements_id_fk": { "name": "user_achievements_achievement_id_achievements_id_fk", "tableFrom": "user_achievements", "tableTo": "achievements", "columnsFrom": [ "achievement_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_points": { "name": "user_points", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "user_points_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "points": { "name": "points", "type": "integer", "primaryKey": false, "notNull": true }, "recording_id": { "name": "recording_id", "type": "text", "primaryKey": false, "notNull": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "user_points_user_idx": { "name": "user_points_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "user_points_date_idx": { "name": "user_points_date_idx", "columns": [ { "expression": "date_created", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_points_user_id_users_id_fk": { "name": "user_points_user_id_users_id_fk", "tableFrom": "user_points", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_points_recording_id_recordings_id_fk": { "name": "user_points_recording_id_recordings_id_fk", "tableFrom": "user_points", "tableTo": "recordings", "columnsFrom": [ "recording_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_stats": { "name": "user_stats", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "user_stats_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "total_raw_points": { "name": "total_raw_points", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "total_weighted_points": { "name": "total_weighted_points", "type": "real", "primaryKey": false, "notNull": false, "default": 0 }, "recordings_count": { "name": "recordings_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "playbacks_count": { "name": "playbacks_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "comments_count": { "name": "comments_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "achievements_count": { "name": "achievements_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "last_updated": { "name": "last_updated", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "user_stats_user_idx": { "name": "user_stats_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_stats_user_id_users_id_fk": { "name": "user_stats_user_id_users_id_fk", "tableFrom": "user_stats", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_photos": { "name": "user_photos", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "user_photos_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "file_id": { "name": "file_id", "type": "text", "primaryKey": false, "notNull": true }, "sort": { "name": "sort", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 } }, "indexes": { "user_photos_user_idx": { "name": "user_photos_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "user_photos_user_id_users_id_fk": { "name": "user_photos_user_id_users_id_fk", "tableFrom": "user_photos", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_photos_file_id_files_id_fk": { "name": "user_photos_file_id_files_id_fk", "tableFrom": "user_photos", "tableTo": "files", "columnsFrom": [ "file_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": true }, "first_name": { "name": "first_name", "type": "text", "primaryKey": false, "notNull": false }, "last_name": { "name": "last_name", "type": "text", "primaryKey": false, "notNull": false }, "artist_name": { "name": "artist_name", "type": "text", "primaryKey": false, "notNull": false }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "tags": { "name": "tags", "type": "text[]", "primaryKey": false, "notNull": false, "default": "'{}'" }, "role": { "name": "role", "type": "user_role", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'viewer'" }, "avatar": { "name": "avatar", "type": "text", "primaryKey": false, "notNull": false }, "banner": { "name": "banner", "type": "text", "primaryKey": false, "notNull": false }, "email_verified": { "name": "email_verified", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "email_verify_token": { "name": "email_verify_token", "type": "text", "primaryKey": false, "notNull": false }, "password_reset_token": { "name": "password_reset_token", "type": "text", "primaryKey": false, "notNull": false }, "password_reset_expiry": { "name": "password_reset_expiry", "type": "timestamp", "primaryKey": false, "notNull": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "users_email_idx": { "name": "users_email_idx", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "users_slug_idx": { "name": "users_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "users_role_idx": { "name": "users_role_idx", "columns": [ { "expression": "role", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "users_avatar_files_id_fk": { "name": "users_avatar_files_id_fk", "tableFrom": "users", "tableTo": "files", "columnsFrom": [ "avatar" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "users_banner_files_id_fk": { "name": "users_banner_files_id_fk", "tableFrom": "users", "tableTo": "files", "columnsFrom": [ "banner" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.video_likes": { "name": "video_likes", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "video_id": { "name": "video_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "video_likes_video_idx": { "name": "video_likes_video_idx", "columns": [ { "expression": "video_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "video_likes_user_idx": { "name": "video_likes_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "video_likes_video_id_videos_id_fk": { "name": "video_likes_video_id_videos_id_fk", "tableFrom": "video_likes", "tableTo": "videos", "columnsFrom": [ "video_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "video_likes_user_id_users_id_fk": { "name": "video_likes_user_id_users_id_fk", "tableFrom": "video_likes", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.video_models": { "name": "video_models", "schema": "", "columns": { "video_id": { "name": "video_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "video_models_video_id_videos_id_fk": { "name": "video_models_video_id_videos_id_fk", "tableFrom": "video_models", "tableTo": "videos", "columnsFrom": [ "video_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "video_models_user_id_users_id_fk": { "name": "video_models_user_id_users_id_fk", "tableFrom": "video_models", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "video_models_video_id_user_id_pk": { "name": "video_models_video_id_user_id_pk", "columns": [ "video_id", "user_id" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.video_plays": { "name": "video_plays", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "video_id": { "name": "video_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": false }, "session_id": { "name": "session_id", "type": "text", "primaryKey": false, "notNull": false }, "duration_watched": { "name": "duration_watched", "type": "integer", "primaryKey": false, "notNull": false }, "completed": { "name": "completed", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "video_plays_video_idx": { "name": "video_plays_video_idx", "columns": [ { "expression": "video_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "video_plays_user_idx": { "name": "video_plays_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "video_plays_date_idx": { "name": "video_plays_date_idx", "columns": [ { "expression": "date_created", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "video_plays_video_id_videos_id_fk": { "name": "video_plays_video_id_videos_id_fk", "tableFrom": "video_plays", "tableTo": "videos", "columnsFrom": [ "video_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "video_plays_user_id_users_id_fk": { "name": "video_plays_user_id_users_id_fk", "tableFrom": "video_plays", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.videos": { "name": "videos", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "movie": { "name": "movie", "type": "text", "primaryKey": false, "notNull": false }, "tags": { "name": "tags", "type": "text[]", "primaryKey": false, "notNull": false, "default": "'{}'" }, "upload_date": { "name": "upload_date", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "premium": { "name": "premium", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "featured": { "name": "featured", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "likes_count": { "name": "likes_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "plays_count": { "name": "plays_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 } }, "indexes": { "videos_slug_idx": { "name": "videos_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "videos_upload_date_idx": { "name": "videos_upload_date_idx", "columns": [ { "expression": "upload_date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "videos_featured_idx": { "name": "videos_featured_idx", "columns": [ { "expression": "featured", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "videos_image_files_id_fk": { "name": "videos_image_files_id_fk", "tableFrom": "videos", "tableTo": "files", "columnsFrom": [ "image" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "videos_movie_files_id_fk": { "name": "videos_movie_files_id_fk", "tableFrom": "videos", "tableTo": "files", "columnsFrom": [ "movie" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.recording_plays": { "name": "recording_plays", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "recording_id": { "name": "recording_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": false }, "duration_played": { "name": "duration_played", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "completed": { "name": "completed", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "recording_plays_recording_idx": { "name": "recording_plays_recording_idx", "columns": [ { "expression": "recording_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "recording_plays_user_idx": { "name": "recording_plays_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "recording_plays_recording_id_recordings_id_fk": { "name": "recording_plays_recording_id_recordings_id_fk", "tableFrom": "recording_plays", "tableTo": "recordings", "columnsFrom": [ "recording_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "recording_plays_user_id_users_id_fk": { "name": "recording_plays_user_id_users_id_fk", "tableFrom": "recording_plays", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.recordings": { "name": "recordings", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "duration": { "name": "duration", "type": "integer", "primaryKey": false, "notNull": true }, "events": { "name": "events", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'[]'::jsonb" }, "device_info": { "name": "device_info", "type": "jsonb", "primaryKey": false, "notNull": false, "default": "'[]'::jsonb" }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "recording_status", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'draft'" }, "tags": { "name": "tags", "type": "text[]", "primaryKey": false, "notNull": false, "default": "'{}'" }, "linked_video": { "name": "linked_video", "type": "text", "primaryKey": false, "notNull": false }, "featured": { "name": "featured", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "public": { "name": "public", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "original_recording_id": { "name": "original_recording_id", "type": "text", "primaryKey": false, "notNull": false }, "date_created": { "name": "date_created", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "date_updated": { "name": "date_updated", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "recordings_slug_idx": { "name": "recordings_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "recordings_user_idx": { "name": "recordings_user_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "recordings_status_idx": { "name": "recordings_status_idx", "columns": [ { "expression": "status", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "recordings_public_idx": { "name": "recordings_public_idx", "columns": [ { "expression": "public", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "recordings_user_id_users_id_fk": { "name": "recordings_user_id_users_id_fk", "tableFrom": "recordings", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "recordings_linked_video_videos_id_fk": { "name": "recordings_linked_video_videos_id_fk", "tableFrom": "recordings", "tableTo": "videos", "columnsFrom": [ "linked_video" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.achievement_status": { "name": "achievement_status", "schema": "public", "values": [ "draft", "published" ] }, "public.user_role": { "name": "user_role", "schema": "public", "values": [ "model", "viewer", "admin" ] }, "public.recording_status": { "name": "recording_status", "schema": "public", "values": [ "draft", "published", "archived" ] } }, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }