# 从数据库生成模型类
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;   -- 恢复外键检查