我想使用typeorm为实体生成我创建的数据库。
但我遇到了这样一个错误
生成一个带有sql需要执行的新迁移文件来更新模式,没有足够的非选项参数: got 0,至少需要1条注释:这个命令是通过npm模块‘win-Note’npm ERR运行的!代码ELIFECYCLE npm错误!crud_api_reuse@0.0.1打字机:NODE_ENV=migration ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f --config ./src/config/ormconfig.ts "migration:generate" "--name" "create_table_user"
npm错误!退出状态1 npm错误!npm错误!crud_api_reuse@0.0.1 typeorm脚本失败。npm错误!这可能不是npm的问题。上面可能还有额外的日志输出。
npm错误!这个运行的完整日志可以在: npm中找到!C:\Users\jojo\AppData\Roaming\npm-cache\logs\2022-11-13T12_28_28_622Z-debug.log
这是我的项目结构
在我的ormconfig.ts文件中,像这样
`
import * as dotenv from 'dotenv';
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
dotenv.config();
const dir = process.env.NODE_ENV == 'migration' ? 'src' : 'dist';
export default <TypeOrmModuleOptions>{
type: process.env.DATABASE_CONNECTION,
host: process.env.DATABASE_HOST,
port: Number(process.env.DATABASE_PORT),
username: process.env.DATABASE_USERNAME,
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME,
entities: [`${dir}/**/*.entity.{js,ts}`],
migrations: [`${dir}/models/migrations/*.{js,ts}`],
seeds: [`${dir}/models/migrations/seeds/*.seed.{js,ts}`],
factories: [`${dir}/models/migrations/seeds/factories/*.factory.{js,ts}`],
cli: {
migrationsDir: `${dir}/models/migrations`,
entitiesDir: `${dir}/models/entities`,
seedersDir: `${dir}/models/migrations/seeds`,
factoriesDir: `${dir}/models/migrations/seeds/factories`,
},
synchronize: false,
migrationsRun: false,
};
`
我在package.json文件中创建的脚本如下所示
"typeorm": "NODE_ENV=migration ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f --config ./src/config/ormconfig.ts",
"typeorm:migration:generate": "npm run typeorm migration:generate -- --name",
"typeorm:migration:create": "npm run typeorm migration:create -- --name",
"typeorm:migration:run": "npm run typeorm migration:run",
"typeorm:migration:revert": "npm run typeorm migration:revert",
"typeorm:seed": "NODE_ENV=migration ts-node ./node_modules/typeorm-seeding/dist/cli.js --configName ./src/config/ormconfig.ts",
"typeorm:seed:run": "npm run typeorm:seed seed",
"typeorm:schema:drop": "ts-node ./node_modules/typeorm/cli.js schema:drop"
`
但是当我尝试迁移时,我会得到一个类似于上面的错误,所以我应该做些什么才能迁移呢?
发布于 2022-11-13 16:15:17
我认为在您的命令中运行迁移的问题缺少一些args。在运行新的迁移之前,您已经构建过了吗?你所用的打字机版本是什么?在我的例子中,使用0.2.45:
我的package.json脚本:
我的命令是在实体基础上创建新的迁移(请记住先构建):
npm run migration:generate your_migration_name
试试看!
https://stackoverflow.com/questions/74421139
复制相似问题