跳到主要内容

执行和回滚

一旦你有需要在生产环境运行的迁移,可以使用 CLI 命令来执行它们:

typeorm migration:run -- -d path-to-datasource-config

typeorm migration:createtypeorm migration:generate 会创建 .ts 文件,除非你使用了 o 标志(详见 生成迁移)。migration:runmigration:revert 命令仅支持 .js 文件。因此,在运行这些命令之前需要先编译 TypeScript 文件。 另外,你也可以结合 ts-nodetypeorm 来运行 .ts 格式的迁移文件。

使用 ts-node 的示例:

npx typeorm-ts-node-commonjs migration:run -- -d path-to-datasource-config

ESM 项目中使用 ts-node 的示例:

npx typeorm-ts-node-esm migration:run -- -d path-to-datasource-config
npx typeorm-ts-node-esm migration:generate ./src/migrations/update-post-table -d ./src/data-source.ts

该命令会执行所有待执行的迁移,并按照时间戳顺序依次执行。 这意味着所有在你创建的迁移中 up 方法里编写的 SQL 查询都会被执行。 就是这样!现在你的数据库架构已经是最新的了。