|
|
|
@ -0,0 +1,567 @@ |
|
|
|
{ |
|
|
|
"version": "6", |
|
|
|
"dialect": "sqlite", |
|
|
|
"id": "f4c03fe9-c5a2-41bd-8864-ad2b076d320d", |
|
|
|
"prevId": "334a6cb9-9261-4db7-b74b-0ee659a5798f", |
|
|
|
"tables": { |
|
|
|
"sessions": { |
|
|
|
"name": "sessions", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "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((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { "sessions_user_id_idx": { "name": "sessions_user_id_idx", "columns": ["user_id"], "isUnique": false } }, |
|
|
|
"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": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"users": { |
|
|
|
"name": "users", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"nickname": { "name": "nickname", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"password": { "name": "password", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"avatar": { "name": "avatar", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'user'" }, |
|
|
|
"status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'active'" }, |
|
|
|
"public_slug": { "name": "public_slug", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"bio_markdown": { "name": "bio_markdown", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"bio_visibility": { |
|
|
|
"name": "bio_visibility", |
|
|
|
"type": "text", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "'private'" |
|
|
|
}, |
|
|
|
"social_links_json": { |
|
|
|
"name": "social_links_json", |
|
|
|
"type": "text", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "'[]'" |
|
|
|
}, |
|
|
|
"avatar_visibility": { |
|
|
|
"name": "avatar_visibility", |
|
|
|
"type": "text", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "'private'" |
|
|
|
}, |
|
|
|
"discover_visible": { |
|
|
|
"name": "discover_visible", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": true |
|
|
|
}, |
|
|
|
"discover_location": { "name": "discover_location", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"discover_show_location": { |
|
|
|
"name": "discover_show_location", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": false |
|
|
|
}, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
}, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"users_username_unique": { "name": "users_username_unique", "columns": ["username"], "isUnique": true }, |
|
|
|
"users_public_slug_unique": { "name": "users_public_slug_unique", "columns": ["public_slug"], "isUnique": true } |
|
|
|
}, |
|
|
|
"foreignKeys": {}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"app_configs": { |
|
|
|
"name": "app_configs", |
|
|
|
"columns": { |
|
|
|
"key": { "name": "key", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"value_type": { "name": "value_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": {}, |
|
|
|
"foreignKeys": {}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"user_configs": { |
|
|
|
"name": "user_configs", |
|
|
|
"columns": { |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"value_type": { "name": "value_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { "user_configs_user_id_idx": { "name": "user_configs_user_id_idx", "columns": ["user_id"], "isUnique": false } }, |
|
|
|
"foreignKeys": { |
|
|
|
"user_configs_user_id_users_id_fk": { |
|
|
|
"name": "user_configs_user_id_users_id_fk", |
|
|
|
"tableFrom": "user_configs", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": { |
|
|
|
"user_configs_user_id_key_pk": { "columns": ["user_id", "key"], "name": "user_configs_user_id_key_pk" } |
|
|
|
}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"media_assets": { |
|
|
|
"name": "media_assets", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"storage_key": { "name": "storage_key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"mime": { "name": "mime", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"size_bytes": { "name": "size_bytes", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"sha256": { "name": "sha256", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"variants_json": { "name": "variants_json", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'ready'" }, |
|
|
|
"first_referenced_at": { "name": "first_referenced_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"dereferenced_at": { "name": "dereferenced_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"user_note": { "name": "user_note", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"media_assets_storage_key_unique": { "name": "media_assets_storage_key_unique", "columns": ["storage_key"], "isUnique": true }, |
|
|
|
"media_assets_user_id_idx": { "name": "media_assets_user_id_idx", "columns": ["user_id"], "isUnique": false } |
|
|
|
}, |
|
|
|
"foreignKeys": { |
|
|
|
"media_assets_user_id_users_id_fk": { |
|
|
|
"name": "media_assets_user_id_users_id_fk", |
|
|
|
"tableFrom": "media_assets", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"media_refs": { |
|
|
|
"name": "media_refs", |
|
|
|
"columns": { |
|
|
|
"owner_type": { "name": "owner_type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"owner_id": { "name": "owner_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"asset_id": { "name": "asset_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } |
|
|
|
}, |
|
|
|
"indexes": { "media_refs_asset_id_idx": { "name": "media_refs_asset_id_idx", "columns": ["asset_id"], "isUnique": false } }, |
|
|
|
"foreignKeys": { |
|
|
|
"media_refs_asset_id_media_assets_id_fk": { |
|
|
|
"name": "media_refs_asset_id_media_assets_id_fk", |
|
|
|
"tableFrom": "media_refs", |
|
|
|
"tableTo": "media_assets", |
|
|
|
"columnsFrom": ["asset_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": { |
|
|
|
"media_refs_owner_type_owner_id_asset_id_pk": { |
|
|
|
"columns": ["owner_type", "owner_id", "asset_id"], |
|
|
|
"name": "media_refs_owner_type_owner_id_asset_id_pk" |
|
|
|
} |
|
|
|
}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"post_comments": { |
|
|
|
"name": "post_comments", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"post_id": { "name": "post_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"parent_id": { "name": "parent_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"author_user_id": { "name": "author_user_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"guest_display_name": { "name": "guest_display_name", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"guest_email": { "name": "guest_email", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"guest_is_anonymous": { |
|
|
|
"name": "guest_is_anonymous", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": false |
|
|
|
}, |
|
|
|
"body": { "name": "body", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"deleted_at": { "name": "deleted_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"deleted_by_user_id": { "name": "deleted_by_user_id", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
}, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"post_comments_post_id_idx": { "name": "post_comments_post_id_idx", "columns": ["post_id"], "isUnique": false }, |
|
|
|
"post_comments_parent_id_idx": { "name": "post_comments_parent_id_idx", "columns": ["parent_id"], "isUnique": false } |
|
|
|
}, |
|
|
|
"foreignKeys": { |
|
|
|
"post_comments_post_id_posts_id_fk": { |
|
|
|
"name": "post_comments_post_id_posts_id_fk", |
|
|
|
"tableFrom": "post_comments", |
|
|
|
"tableTo": "posts", |
|
|
|
"columnsFrom": ["post_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
}, |
|
|
|
"post_comments_parent_id_post_comments_id_fk": { |
|
|
|
"name": "post_comments_parent_id_post_comments_id_fk", |
|
|
|
"tableFrom": "post_comments", |
|
|
|
"tableTo": "post_comments", |
|
|
|
"columnsFrom": ["parent_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "no action", |
|
|
|
"onUpdate": "no action" |
|
|
|
}, |
|
|
|
"post_comments_author_user_id_users_id_fk": { |
|
|
|
"name": "post_comments_author_user_id_users_id_fk", |
|
|
|
"tableFrom": "post_comments", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["author_user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "set null", |
|
|
|
"onUpdate": "no action" |
|
|
|
}, |
|
|
|
"post_comments_deleted_by_user_id_users_id_fk": { |
|
|
|
"name": "post_comments_deleted_by_user_id_users_id_fk", |
|
|
|
"tableFrom": "post_comments", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["deleted_by_user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "set null", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"posts": { |
|
|
|
"name": "posts", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"body_markdown": { "name": "body_markdown", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"excerpt": { "name": "excerpt", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"cover_url": { "name": "cover_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"tags_json": { "name": "tags_json", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'[]'" }, |
|
|
|
"published_at": { "name": "published_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"visibility": { "name": "visibility", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'private'" }, |
|
|
|
"share_token": { "name": "share_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
}, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { "posts_user_id_slug_unique": { "name": "posts_user_id_slug_unique", "columns": ["user_id", "slug"], "isUnique": true } }, |
|
|
|
"foreignKeys": { |
|
|
|
"posts_user_id_users_id_fk": { |
|
|
|
"name": "posts_user_id_users_id_fk", |
|
|
|
"tableFrom": "posts", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"timeline_events": { |
|
|
|
"name": "timeline_events", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"occurred_on": { "name": "occurred_on", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"body_markdown": { "name": "body_markdown", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"link_url": { "name": "link_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"visibility": { "name": "visibility", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'private'" }, |
|
|
|
"share_token": { "name": "share_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
}, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": {}, |
|
|
|
"foreignKeys": { |
|
|
|
"timeline_events_user_id_users_id_fk": { |
|
|
|
"name": "timeline_events_user_id_users_id_fk", |
|
|
|
"tableFrom": "timeline_events", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"user_export_tasks": { |
|
|
|
"name": "user_export_tasks", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'queued'" }, |
|
|
|
"mask_policy": { "name": "mask_policy", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'masked'" }, |
|
|
|
"export_cutoff_at": { "name": "export_cutoff_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"output_dir": { "name": "output_dir", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"output_name": { "name": "output_name", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"total_bytes": { "name": "total_bytes", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"error_code": { "name": "error_code", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"error_message": { "name": "error_message", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
}, |
|
|
|
"updated_at": { |
|
|
|
"name": "updated_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"user_export_tasks_user_id_idx": { "name": "user_export_tasks_user_id_idx", "columns": ["user_id"], "isUnique": false }, |
|
|
|
"user_export_tasks_status_idx": { "name": "user_export_tasks_status_idx", "columns": ["status"], "isUnique": false } |
|
|
|
}, |
|
|
|
"foreignKeys": { |
|
|
|
"user_export_tasks_user_id_users_id_fk": { |
|
|
|
"name": "user_export_tasks_user_id_users_id_fk", |
|
|
|
"tableFrom": "user_export_tasks", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"rss_feeds": { |
|
|
|
"name": "rss_feeds", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"feed_url": { "name": "feed_url", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"title": { "name": "title", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"site_url": { "name": "site_url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"last_fetched_at": { "name": "last_fetched_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"last_error": { "name": "last_error", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"poll_interval_minutes": { "name": "poll_interval_minutes", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"rss_feeds_user_id_feed_url_unique": { "name": "rss_feeds_user_id_feed_url_unique", "columns": ["user_id", "feed_url"], "isUnique": true } |
|
|
|
}, |
|
|
|
"foreignKeys": { |
|
|
|
"rss_feeds_user_id_users_id_fk": { |
|
|
|
"name": "rss_feeds_user_id_users_id_fk", |
|
|
|
"tableFrom": "rss_feeds", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
}, |
|
|
|
"rss_items": { |
|
|
|
"name": "rss_items", |
|
|
|
"columns": { |
|
|
|
"id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "autoincrement": false }, |
|
|
|
"user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"feed_id": { "name": "feed_id", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"guid": { "name": "guid", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"canonical_url": { "name": "canonical_url", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, |
|
|
|
"title": { "name": "title", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"summary": { "name": "summary", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"content_snippet": { "name": "content_snippet", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"author": { "name": "author", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"published_at": { "name": "published_at", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"visibility": { "name": "visibility", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'private'" }, |
|
|
|
"share_token": { "name": "share_token", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, |
|
|
|
"created_at": { |
|
|
|
"name": "created_at", |
|
|
|
"type": "integer", |
|
|
|
"primaryKey": false, |
|
|
|
"notNull": true, |
|
|
|
"autoincrement": false, |
|
|
|
"default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))" |
|
|
|
} |
|
|
|
}, |
|
|
|
"indexes": { |
|
|
|
"rss_items_feed_id_guid_unique": { |
|
|
|
"name": "rss_items_feed_id_guid_unique", |
|
|
|
"columns": ["feed_id", "guid"], |
|
|
|
"isUnique": true, |
|
|
|
"where": "\"rss_items\".\"guid\" IS NOT NULL" |
|
|
|
} |
|
|
|
}, |
|
|
|
"foreignKeys": { |
|
|
|
"rss_items_user_id_users_id_fk": { |
|
|
|
"name": "rss_items_user_id_users_id_fk", |
|
|
|
"tableFrom": "rss_items", |
|
|
|
"tableTo": "users", |
|
|
|
"columnsFrom": ["user_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
}, |
|
|
|
"rss_items_feed_id_rss_feeds_id_fk": { |
|
|
|
"name": "rss_items_feed_id_rss_feeds_id_fk", |
|
|
|
"tableFrom": "rss_items", |
|
|
|
"tableTo": "rss_feeds", |
|
|
|
"columnsFrom": ["feed_id"], |
|
|
|
"columnsTo": ["id"], |
|
|
|
"onDelete": "cascade", |
|
|
|
"onUpdate": "no action" |
|
|
|
} |
|
|
|
}, |
|
|
|
"compositePrimaryKeys": {}, |
|
|
|
"uniqueConstraints": {}, |
|
|
|
"checkConstraints": {} |
|
|
|
} |
|
|
|
}, |
|
|
|
"views": {}, |
|
|
|
"enums": {}, |
|
|
|
"_meta": { "schemas": {}, "tables": {}, "columns": {} }, |
|
|
|
"internal": { "indexes": {} } |
|
|
|
} |