我使用 TypeORM (v0.2.18) 和 Node.js (v12.7.0) 在 SQLite 数据库中执行迁移。
这是我的情况:我有一个名为 的表country和一个名为 的表workflow。我想删除其中一列名为 的列name,country但通过该列进行workflow引用country。
使用 SQLite 的 DB Browser,我可以使用以下语句成功删除该列:
PRAGMA foreign_keys=OFF;
CREATE TEMPORARY TABLE country_backup(id, createdAt, updatedAt, enabled, codeIso2);
INSERT INTO country_backup SELECT id, createdAt, updatedAt, enabled, codeIso2 FROM country;
DROP TABLE country;
CREATE TABLE country(id, createdAt, updatedAt, enabled, codeIso2);
INSERT INTO country SELECT id, createdAt, updatedAt, enabled, codeIso2 FROM country_backup;
DROP TABLE country_backup;
PRAGMA foreign_keys=ON;
Run Code Online (Sandbox Code Playgroud)
我在 TypeORM 迁移中使用了它,如下所示: …