{ "version": "6", "dialect": "sqlite", "id": "23271fb3-935b-4a9b-a890-e73fc9943bef", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "audiobook_chapters": { "name": "audiobook_chapters", "columns": { "id": { "name": "id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "book_id": { "name": "book_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "chapter_index": { "name": "chapter_index", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "duration": { "name": "duration", "type": "real", "primaryKey": false, "notNull": false, "autoincrement": false, "default": 0 }, "file_path": { "name": "file_path", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "format": { "name": "format", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "audiobook_chapters_user_id_user_id_fk": { "name": "audiobook_chapters_user_id_user_id_fk", "tableFrom": "audiobook_chapters", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "audiobook_chapters_book_id_user_id_audiobooks_id_user_id_fk": { "name": "audiobook_chapters_book_id_user_id_audiobooks_id_user_id_fk", "tableFrom": "audiobook_chapters", "tableTo": "audiobooks", "columnsFrom": [ "book_id", "user_id" ], "columnsTo": [ "id", "user_id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "audiobook_chapters_id_user_id_pk": { "columns": [ "id", "user_id" ], "name": "audiobook_chapters_id_user_id_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "audiobooks": { "name": "audiobooks", "columns": { "id": { "name": "id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "author": { "name": "author", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "cover_path": { "name": "cover_path", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "duration": { "name": "duration", "type": "real", "primaryKey": false, "notNull": false, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": {}, "foreignKeys": { "audiobooks_user_id_user_id_fk": { "name": "audiobooks_user_id_user_id_fk", "tableFrom": "audiobooks", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "audiobooks_id_user_id_pk": { "columns": [ "id", "user_id" ], "name": "audiobooks_id_user_id_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "document_previews": { "name": "document_previews", "columns": { "document_id": { "name": "document_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "namespace": { "name": "namespace", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "''" }, "variant": { "name": "variant", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'card-240-jpeg'" }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'queued'" }, "source_last_modified_ms": { "name": "source_last_modified_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "object_key": { "name": "object_key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "content_type": { "name": "content_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'image/jpeg'" }, "width": { "name": "width", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 240 }, "height": { "name": "height", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "byte_size": { "name": "byte_size", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "etag": { "name": "etag", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "lease_owner": { "name": "lease_owner", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "lease_until_ms": { "name": "lease_until_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "attempt_count": { "name": "attempt_count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "last_error": { "name": "last_error", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at_ms": { "name": "created_at_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "updated_at_ms": { "name": "updated_at_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 } }, "indexes": { "idx_document_previews_status_lease": { "name": "idx_document_previews_status_lease", "columns": [ "status", "lease_until_ms" ], "isUnique": false } }, "foreignKeys": {}, "compositePrimaryKeys": { "document_previews_document_id_namespace_variant_pk": { "columns": [ "document_id", "namespace", "variant" ], "name": "document_previews_document_id_namespace_variant_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "documents": { "name": "documents", "columns": { "id": { "name": "id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "size": { "name": "size", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "last_modified": { "name": "last_modified", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "file_path": { "name": "file_path", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": { "idx_documents_user_id": { "name": "idx_documents_user_id", "columns": [ "user_id" ], "isUnique": false }, "idx_documents_user_id_last_modified": { "name": "idx_documents_user_id_last_modified", "columns": [ "user_id", "last_modified" ], "isUnique": false } }, "foreignKeys": { "documents_user_id_user_id_fk": { "name": "documents_user_id_user_id_fk", "tableFrom": "documents", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "documents_id_user_id_pk": { "columns": [ "id", "user_id" ], "name": "documents_id_user_id_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "user_document_progress": { "name": "user_document_progress", "columns": { "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "document_id": { "name": "document_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "reader_type": { "name": "reader_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "location": { "name": "location", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "progress": { "name": "progress", "type": "real", "primaryKey": false, "notNull": false, "autoincrement": false }, "client_updated_at_ms": { "name": "client_updated_at_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": { "idx_user_document_progress_user_id_updated_at": { "name": "idx_user_document_progress_user_id_updated_at", "columns": [ "user_id", "updated_at" ], "isUnique": false } }, "foreignKeys": { "user_document_progress_user_id_user_id_fk": { "name": "user_document_progress_user_id_user_id_fk", "tableFrom": "user_document_progress", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "user_document_progress_user_id_document_id_pk": { "columns": [ "user_id", "document_id" ], "name": "user_document_progress_user_id_document_id_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "user_preferences": { "name": "user_preferences", "columns": { "user_id": { "name": "user_id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "data_json": { "name": "data_json", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'{}'" }, "client_updated_at_ms": { "name": "client_updated_at_ms", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": {}, "foreignKeys": { "user_preferences_user_id_user_id_fk": { "name": "user_preferences_user_id_user_id_fk", "tableFrom": "user_preferences", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "user_tts_chars": { "name": "user_tts_chars", "columns": { "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "date": { "name": "date", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "char_count": { "name": "char_count", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": 0 }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": { "idx_user_tts_chars_date": { "name": "idx_user_tts_chars_date", "columns": [ "date" ], "isUnique": false } }, "foreignKeys": {}, "compositePrimaryKeys": { "user_tts_chars_user_id_date_pk": { "columns": [ "user_id", "date" ], "name": "user_tts_chars_user_id_date_pk" } }, "uniqueConstraints": {}, "checkConstraints": {} }, "account": { "name": "account", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "account_id": { "name": "account_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "provider_id": { "name": "provider_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "id_token": { "name": "id_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "access_token_expires_at": { "name": "access_token_expires_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "refresh_token_expires_at": { "name": "refresh_token_expires_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "scope": { "name": "scope", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "account_userId_idx": { "name": "account_userId_idx", "columns": [ "user_id" ], "isUnique": false } }, "foreignKeys": { "account_user_id_user_id_fk": { "name": "account_user_id_user_id_fk", "tableFrom": "account", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "session": { "name": "session", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "session_token_unique": { "name": "session_token_unique", "columns": [ "token" ], "isUnique": true }, "session_userId_idx": { "name": "session_userId_idx", "columns": [ "user_id" ], "isUnique": false } }, "foreignKeys": { "session_user_id_user_id_fk": { "name": "session_user_id_user_id_fk", "tableFrom": "session", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "user": { "name": "user", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "email_verified": { "name": "email_verified", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "is_anonymous": { "name": "is_anonymous", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false, "default": false } }, "indexes": { "user_email_unique": { "name": "user_email_unique", "columns": [ "email" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "verification": { "name": "verification", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "identifier": { "name": "identifier", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "created_at": { "name": "created_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" }, "updated_at": { "name": "updated_at", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(cast(unixepoch('subsecond') * 1000 as integer))" } }, "indexes": { "verification_identifier_idx": { "name": "verification_identifier_idx", "columns": [ "identifier" ], "isUnique": false } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} } }, "views": {}, "enums": {}, "_meta": { "schemas": {}, "tables": {}, "columns": {} }, "internal": { "indexes": {} } }