{
  "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": {}
  }
}