我正在尝试用TypeOrm生成迁移。当我更改一个实体时,它应该检测到这个变化并生成一个新的迁移。
我收到以下错误消息:
没有发现数据库架构中的任何更改-无法生成迁移。要创建一个新的空迁移,请使用"typeorm迁移: create“命令
当我更改实体文件中的某些内容时,为什么会收到这条错误消息?
我使用这个命令运行TypeOrm:
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js --config src/typeormConfig.ts",这是我的typeormConfig.ts文件:
import { ConnectionOptions } from "typeorm";
import * as path from "path";
import * as dotEnv from 'dotenv'
console.log(path.resolve(__dirname, 'entity/**.entity.ts'))
const result = dotEnv.config({ path: './ormconfig.env' });
if (result.error) {
throw result.error
}
const config: ConnectionOptions = {
type: 'mysql',
host: process.env.TYPEORM_HOST,
port: +process.env.TYPEORM_PORT,
username: process.env.TYPEORM_USERNAME,
password: process.env.TYPEORM_PASSWORD,
database: process.env.TYPEORM_DATABASE,
//synchronize: true,
synchronize: false,
// migrationsRun: false,
entities: [path.resolve(__dirname, 'entity/**.entity.*')],
migrations: [path.resolve(__dirname, 'migration/**')],
cli: {
entitiesDir: "src/entity",
migrationsDir: "src/migration"
}
}
export default config;发布于 2021-01-06 05:21:02
更新实体和迁移目录链接如下
entities: [__dirname + '/entity/**/*.entity.ts', __dirname + '/entity/**/*.entity.js'],
migrations: [__dirname + '/migration/**/*.ts', __dirname + '/migration/**/*.js'],它对我有用&应该管用。
发布于 2021-04-28 11:16:05
"migrations": ["db-migrations/*{.ts,.js}"],
"cli": {
"migrationsDir": "db-migrations"
}synchronize并转到prev。模式的状态(运行项目-这将重置DB更改)synchronize并运行项目(使其编译更改)--它可能无法运行,但它可以typeorm migration:generate -n TestMigration,并且将成功。
从这里开始,在禁用synchronize之后,只需在运行migration:generate之前编译项目即可。
https://stackoverflow.com/questions/60834678
复制相似问题