设置
非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
在使用迁移功能之前,需要正确配置 DataSource 选项:
export default new DataSource({
// basic setup
synchronize: false,
migrations: [__dirname + "/migrations/**/*{.js,.ts}"],
// optional
migrationsRun: false,
migrationsTableName: "migrations",
migrationsTransactionMode: "all",
// other options...
})
synchronise
关闭自动模式同步是使用迁移功能的前提条件,否则迁移将失去意义。
migrations
定义需要由 TypeORM 加载的迁移列表。支持直接指定迁移类或包含迁移文件的目录。
最简单的做法是指定迁移文件所在的目录(支持 glob 模式):
migrations: [__dirname + "/migrations/**/*{.js,.ts}"]
同时定义 .js 和 .ts 扩展名可实现在开发环境运行迁移,并在生产环境使用编译后的 JavaScript 运行(例如在 Docker 镜像中)。
也可以显式指定具体的迁移类来实现更精细的控制:
import FirstMigration from "./migrations/TIMESTAMP-first-migration"
import SecondMigration from "./migrations/TIMESTAMP-second-migration"
export default new DataSource({
migrations: [FirstMigration, SecondMigration],
})
但这种方式需要更多手动操作且容易出错。
migrationsRun- 是否在每次应用启动时自动运行数据迁移。
可选配置
migrationsRun
指示是否在每次应用启动时自动运行迁移。默认值:false
migrationsTableName
可自定义存储迁移执行记录的表名。默认表名为 'migrations'。
migrationsTableName: "some_custom_migrations_table"
migrationsTransactionMode
控制迁移运行时的事务模式,可选值包括:
-
all(默认) - 将所有迁移包装在单个事务中运行 -
none -
each