{ "id": "3065b19e-d647-4c33-90fb-2a4ae29e9e44", "prevId": "7e1d45fa-02c2-43ae-96f3-d5c8367c15ed", "version": "7", "dialect": "postgresql", "tables": { "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "email": { "name": "email", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "avatar_url": { "name": "avatar_url", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "users_email_unique": { "name": "users_email_unique", "nullsNotDistinct": false, "columns": [ "email" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.magic_links": { "name": "magic_links", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "email": { "name": "email", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "varchar(64)", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "used_at": { "name": "used_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "magic_links_token_unique": { "name": "magic_links_token_unique", "nullsNotDistinct": false, "columns": [ "token" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sessions": { "name": "sessions", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "token_hash": { "name": "token_hash", "type": "varchar(128)", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "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": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "sessions_token_hash_unique": { "name": "sessions_token_hash_unique", "nullsNotDistinct": false, "columns": [ "token_hash" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.project_members": { "name": "project_members", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "project_id": { "name": "project_id", "type": "uuid", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "project_role", "typeSchema": "public", "primaryKey": false, "notNull": true }, "can_upload": { "name": "can_upload", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "can_comment": { "name": "can_comment", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "can_approve": { "name": "can_approve", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "invited_at": { "name": "invited_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "project_members_project_id_projects_id_fk": { "name": "project_members_project_id_projects_id_fk", "tableFrom": "project_members", "tableTo": "projects", "columnsFrom": [ "project_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "project_members_user_id_users_id_fk": { "name": "project_members_user_id_users_id_fk", "tableFrom": "project_members", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "project_members_project_id_user_id_unique": { "name": "project_members_project_id_user_id_unique", "nullsNotDistinct": false, "columns": [ "project_id", "user_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.projects": { "name": "projects", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "name": { "name": "name", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "cover_image_url": { "name": "cover_image_url", "type": "text", "primaryKey": false, "notNull": false }, "created_by_id": { "name": "created_by_id", "type": "uuid", "primaryKey": false, "notNull": true }, "is_archived": { "name": "is_archived", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "projects_created_by_id_users_id_fk": { "name": "projects_created_by_id_users_id_fk", "tableFrom": "projects", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.tracks": { "name": "tracks", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "project_id": { "name": "project_id", "type": "uuid", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "cover_image_url": { "name": "cover_image_url", "type": "text", "primaryKey": false, "notNull": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "created_by_id": { "name": "created_by_id", "type": "uuid", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "tracks_project_id_projects_id_fk": { "name": "tracks_project_id_projects_id_fk", "tableFrom": "tracks", "tableTo": "projects", "columnsFrom": [ "project_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "tracks_created_by_id_users_id_fk": { "name": "tracks_created_by_id_users_id_fk", "tableFrom": "tracks", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.versions": { "name": "versions", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "track_id": { "name": "track_id", "type": "uuid", "primaryKey": false, "notNull": true }, "version_number": { "name": "version_number", "type": "integer", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "varchar(100)", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "version_status", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'uploaded'" }, "parent_version_id": { "name": "parent_version_id", "type": "uuid", "primaryKey": false, "notNull": false }, "branch_label": { "name": "branch_label", "type": "varchar(100)", "primaryKey": false, "notNull": false }, "original_file_name": { "name": "original_file_name", "type": "varchar(500)", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "varchar(100)", "primaryKey": false, "notNull": true }, "file_size": { "name": "file_size", "type": "bigint", "primaryKey": false, "notNull": true }, "duration": { "name": "duration", "type": "real", "primaryKey": false, "notNull": false }, "sample_rate": { "name": "sample_rate", "type": "integer", "primaryKey": false, "notNull": false }, "bit_depth": { "name": "bit_depth", "type": "integer", "primaryKey": false, "notNull": false }, "original_file_key": { "name": "original_file_key", "type": "text", "primaryKey": false, "notNull": true }, "stream_file_key": { "name": "stream_file_key", "type": "text", "primaryKey": false, "notNull": false }, "waveform_data_key": { "name": "waveform_data_key", "type": "text", "primaryKey": false, "notNull": false }, "created_by_id": { "name": "created_by_id", "type": "uuid", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "versions_track_id_tracks_id_fk": { "name": "versions_track_id_tracks_id_fk", "tableFrom": "versions", "tableTo": "tracks", "columnsFrom": [ "track_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "versions_parent_version_id_versions_id_fk": { "name": "versions_parent_version_id_versions_id_fk", "tableFrom": "versions", "tableTo": "versions", "columnsFrom": [ "parent_version_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "versions_created_by_id_users_id_fk": { "name": "versions_created_by_id_users_id_fk", "tableFrom": "versions", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.comments": { "name": "comments", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "version_id": { "name": "version_id", "type": "uuid", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": false }, "guest_name": { "name": "guest_name", "type": "varchar(100)", "primaryKey": false, "notNull": false }, "body": { "name": "body", "type": "text", "primaryKey": false, "notNull": true }, "timestamp_seconds": { "name": "timestamp_seconds", "type": "real", "primaryKey": false, "notNull": false }, "parent_id": { "name": "parent_id", "type": "uuid", "primaryKey": false, "notNull": false }, "resolved_at": { "name": "resolved_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "comments_version_id_versions_id_fk": { "name": "comments_version_id_versions_id_fk", "tableFrom": "comments", "tableTo": "versions", "columnsFrom": [ "version_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "comments_user_id_users_id_fk": { "name": "comments_user_id_users_id_fk", "tableFrom": "comments", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.share_links": { "name": "share_links", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "version_id": { "name": "version_id", "type": "uuid", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "varchar(64)", "primaryKey": false, "notNull": true }, "created_by_id": { "name": "created_by_id", "type": "uuid", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "allow_comments": { "name": "allow_comments", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "allow_download": { "name": "allow_download", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "password_hash": { "name": "password_hash", "type": "varchar(255)", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "share_links_version_id_versions_id_fk": { "name": "share_links_version_id_versions_id_fk", "tableFrom": "share_links", "tableTo": "versions", "columnsFrom": [ "version_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "share_links_created_by_id_users_id_fk": { "name": "share_links_created_by_id_users_id_fk", "tableFrom": "share_links", "tableTo": "users", "columnsFrom": [ "created_by_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "share_links_token_unique": { "name": "share_links_token_unique", "nullsNotDistinct": false, "columns": [ "token" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.project_role": { "name": "project_role", "schema": "public", "values": [ "owner", "recording_engineer", "mixing_engineer", "mastering_engineer", "artist", "label", "management", "viewer" ] }, "public.version_status": { "name": "version_status", "schema": "public", "values": [ "uploaded", "processing", "ready", "approved", "rejected" ] } }, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }