我正在从sequelizeORM迁移到typeORM。在sequelize-cli中,有一些不错的命令可以删除数据库并创建一个新命令,例如:
node_modules/.bin/sequelize db:drop
node_modules/.bin/sequelize db:create
node_modules/.bin/sequelize db:migrate
好吧,对于typeORM,我知道如何运行迁移,但是在任何地方都找不到如何自动创建或删除数据库的方法。提前Tnx。
答案 0 :(得分:3)
您可以使用CLI工具typeorm schema:drop
,或者如果要在每次启动时删除并重新创建数据库,则可以使用
{
...
dropSchema: true,
...
"migrations": [
"dist/migrations/**/*.js"
]
}
在其中设置连接选项并设置迁移路径等。
答案 1 :(得分:0)
是的,typeORM具有迁移功能,您可以轻松地使用它们。
如果您遵循本文档https://github.com/typeorm/typeorm/blob/master/docs/migrations.md
typeorm migration:run
将成为您的朋友。
答案 2 :(得分:0)
你也可以使用typeorm-extension包,来create
或drop
为连接指定的数据库,适用于几乎所有的数据库驱动。
包还解析了额外参数(ENV:TYPEORM_DRIVER_EXTRA)的额外参数charset
和characterSet
import {createDatabase} from "typeorm-extension";
(async () => {
await createDatabase({ifNotExist: true});
await dropDatabase({ifExist: true});
process.exit(0);
})();
您还可以提供 charset
和 characterSet
作为 createDatabase()
函数第一个参数的属性。
F.e
createDatabase({ifNotExist: true, characterSet: "UTF8"});
createDatabase({ifNotExist: true, charset: "utf8mb4_general_ci", characterSet: "utf8mb4"});
如果您有任何问题或疑虑,请随时与我联系或为 Github
上的代码库做出贡献