我想做生成的实体,我已经创建到数据库使用typeorm
但我得到了这样的错误
生成新的迁移文件,需要执行sql以更新架构。非选项参数不足:得到0,至少需要1注意:此命令通过npm模块'win-node-env'运行npm错误!代码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 ERR!退出状态1 npm ERR!npm ERR!crud_api_reuse@0.0.1 typeorm脚本失败。npm ERR!这可能不是npm的问题。上面可能有其他日志记录输出。
npm ERR!此运行的完整日志位于:如果您的浏览器没有自动跳转,请点击这里
这是我项目结构x1c 0d1x
在我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"
`
但是当我尝试迁移时,我得到了类似上面的错误,那么我应该怎么做才能迁移呢?
1条答案
按热度按时间cvxl0en21#
我认为你运行迁移的命令中的问题缺少了一些参数。在运行新的迁移之前你构建过吗?你使用的typeorm版本是什么?在我的例子中使用0.2.45:
我的软件包. json脚本:x1c 0d1x
我基于实体创建新迁移命令(记住先生成):
试试看!