55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
# 从数据库生成模型类
|
||
sqlacodegen sqlite:////root/sharedata/sqlite/shared.db > models/shared.py
|
||
sqlacodegen sqlite:////root/sharedata/sqlite/scrapy.db > models/scrapy.py
|
||
|
||
# 初始化
|
||
alembic init migrations/shared_comm
|
||
alembic init migrations/scrapy
|
||
alembic init migrations/testdb
|
||
|
||
# 同步修改到数据库(读取 models/shared.py )
|
||
./scripts/sync_shared_comm.sh
|
||
|
||
./scripts/reset_testdb.sh
|
||
|
||
### 对视图支持不好,主要是视图的字段没有类型,所以在导入导出时会出错,慎用!
|
||
|
||
|
||
------------------------- 清理掉无法处理的字段 --------------------
|
||
PRAGMA foreign_keys = OFF; -- 禁用外键检查
|
||
|
||
-- 检查字段是否已删除
|
||
PRAGMA table_info(javdb_series); -- 应看不到parent_id字段
|
||
|
||
-- 验证数据完整性
|
||
SELECT COUNT(*), MIN(id), MAX(id) FROM javdb_series; -- 数量应与操作前一致
|
||
|
||
-- 5. 处理 javdb_series 表
|
||
CREATE TABLE "javdb_series_new" (
|
||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||
`name` VARCHAR(255) NOT NULL,
|
||
`href` VARCHAR(255) UNIQUE,
|
||
`created_at` TEXT DEFAULT (datetime('now', 'localtime')),
|
||
`updated_at` TEXT DEFAULT (datetime('now', 'localtime')),
|
||
`details` TEXT,
|
||
from_list INTEGER DEFAULT (0),
|
||
from_movie_list INTEGER DEFAULT (0)
|
||
);
|
||
|
||
INSERT INTO javdb_series_new (id, name, href, created_at, updated_at, details, from_list, from_movie_list)
|
||
SELECT id, name, href, created_at, updated_at, details, from_list, from_movie_list
|
||
FROM javdb_series;
|
||
|
||
DROP TABLE javdb_series;
|
||
ALTER TABLE javdb_series_new RENAME TO javdb_series;
|
||
|
||
|
||
|
||
-- 检查字段是否已删除
|
||
PRAGMA table_info(javdb_series); -- 应看不到parent_id字段
|
||
|
||
-- 验证数据完整性
|
||
SELECT COUNT(*), MIN(id), MAX(id) FROM javdb_series; -- 数量应与操作前一致
|
||
|
||
|
||
PRAGMA foreign_keys = ON; -- 恢复外键检查 |