Files
kr-phim/server/database/migrations/meta/0010_snapshot.json
T
ngthanhvu 3d075f320c Add database migration snapshots for comment_votes, comments, movies, and users tables
- Created 0009_snapshot.json with initial structure for comment_votes, comments, movies, and users tables.
- Created 0010_snapshot.json with updated structure for comments, including new fields: pinned and spoiler.
- Created 0011_snapshot.json with further updates to comments, adding anonymous field and refining existing structures.
2026-07-24 00:06:03 -04:00

265 lines
11 KiB
JSON

{
"version": "5",
"dialect": "mysql",
"id": "8a064b1a-675e-484f-8a47-d4c6ac4445b7",
"prevId": "79064b1a-675e-484f-8a47-d4c6ac4445b6",
"tables": {
"comment_votes": {
"name": "comment_votes",
"columns": {
"id": {
"name": "id",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": true
},
"user_id": {
"name": "user_id",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"comment_id": {
"name": "comment_id",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"vote": {
"name": "vote",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"created_at": {
"name": "created_at",
"type": "timestamp",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(now())"
}
},
"indexes": {
"idx_user_comment": {
"name": "idx_user_comment",
"columns": ["user_id", "comment_id"],
"isUnique": false
}
},
"foreignKeys": {},
"compositePrimaryKeys": {
"comment_votes_id": {
"name": "comment_votes_id",
"columns": ["id"]
}
},
"uniqueConstraints": {},
"checkConstraint": {}
},
"comments": {
"name": "comments",
"columns": {
"id": {
"name": "id",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": true
},
"user_id": {
"name": "user_id",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"source": {
"name": "source",
"type": "varchar(50)",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "''"
},
"slug": {
"name": "slug",
"type": "varchar(500)",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"movie_name": {
"name": "movie_name",
"type": "varchar(500)",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true,
"autoincrement": false
},
"parent_id": {
"name": "parent_id",
"type": "int",
"primaryKey": false,
"notNull": false,
"autoincrement": false
},
"like_count": {
"name": "like_count",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"dislike_count": {
"name": "dislike_count",
"type": "int",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": 0
},
"pinned": {
"name": "pinned",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": false
},
"spoiler": {
"name": "spoiler",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": false
},
"created_at": {
"name": "created_at",
"type": "timestamp",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"default": "(now())"
},
"updated_at": {
"name": "updated_at",
"type": "timestamp",
"primaryKey": false,
"notNull": true,
"autoincrement": false,
"onUpdate": true,
"default": "(now())"
}
},
"indexes": {
"idx_source_slug": {
"name": "idx_source_slug",
"columns": ["source", "slug"],
"isUnique": false
},
"idx_user_id": {
"name": "idx_user_id",
"columns": ["user_id"],
"isUnique": false
},
"idx_parent_id": {
"name": "idx_parent_id",
"columns": ["parent_id"],
"isUnique": false
}
},
"foreignKeys": {},
"compositePrimaryKeys": {
"comments_id": {
"name": "comments_id",
"columns": ["id"]
}
},
"uniqueConstraints": {},
"checkConstraint": {}
},
"movies": {
"name": "movies",
"columns": {
"id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true },
"source": { "name": "source", "type": "varchar(50)", "primaryKey": false, "notNull": true, "autoincrement": false },
"slug": { "name": "slug", "type": "varchar(500)", "primaryKey": false, "notNull": true, "autoincrement": false },
"name": { "name": "name", "type": "varchar(500)", "primaryKey": false, "notNull": true, "autoincrement": false },
"origin_name": { "name": "origin_name", "type": "varchar(500)", "primaryKey": false, "notNull": false, "autoincrement": false },
"thumb": { "name": "thumb", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"poster": { "name": "poster", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"year": { "name": "year", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false },
"time": { "name": "time", "type": "varchar(100)", "primaryKey": false, "notNull": false, "autoincrement": false },
"episode": { "name": "episode", "type": "varchar(100)", "primaryKey": false, "notNull": false, "autoincrement": false },
"episode_total": { "name": "episode_total", "type": "varchar(100)", "primaryKey": false, "notNull": false, "autoincrement": false },
"quality": { "name": "quality", "type": "varchar(50)", "primaryKey": false, "notNull": false, "autoincrement": false },
"lang": { "name": "lang", "type": "varchar(50)", "primaryKey": false, "notNull": false, "autoincrement": false },
"type": { "name": "type", "type": "varchar(50)", "primaryKey": false, "notNull": false, "autoincrement": false },
"rating": { "name": "rating", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false },
"views": { "name": "views", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 },
"content": { "name": "content", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"categories": { "name": "categories", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false },
"countries": { "name": "countries", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false },
"sources": { "name": "sources", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false },
"custom_poster": { "name": "custom_poster", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"custom_thumb": { "name": "custom_thumb", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"custom_content": { "name": "custom_content", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"custom_episodes": { "name": "custom_episodes", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false },
"active": { "name": "active", "type": "boolean", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false },
"api_updated_at": { "name": "api_updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false },
"synced_at": { "name": "synced_at", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" },
"created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" },
"updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" }
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {
"movies_id": { "name": "movies_id", "columns": ["id"] }
},
"uniqueConstraints": {},
"checkConstraint": {}
},
"users": {
"name": "users",
"columns": {
"id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true },
"name": { "name": "name", "type": "varchar(200)", "primaryKey": false, "notNull": false, "autoincrement": false },
"email": { "name": "email", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false },
"password": { "name": "password", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false },
"role": { "name": "role", "type": "varchar(50)", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'user'" },
"avatar": { "name": "avatar", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false },
"reset_token": { "name": "reset_token", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false },
"reset_token_expires": { "name": "reset_token_expires", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false },
"active": { "name": "active", "type": "boolean", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true },
"created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" },
"updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" }
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {
"users_id": { "name": "users_id", "columns": ["id"] }
},
"uniqueConstraints": {
"users_email_unique": { "name": "users_email_unique", "columns": ["email"] }
},
"checkConstraint": {}
}
},
"views": {},
"_meta": { "schemas": {}, "tables": {}, "columns": {} },
"internal": { "tables": {}, "indexes": {} }
}