postgresql 无法创建和生成typeorm迁移

e0bqpujr  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(142)

我想做生成的实体,我已经创建到数据库使用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"

`
但是当我尝试迁移时,我得到了类似上面的错误,那么我应该怎么做才能迁移呢?

cvxl0en2

cvxl0en21#

我认为你运行迁移的命令中的问题缺少了一些参数。在运行新的迁移之前你构建过吗?你使用的typeorm版本是什么?在我的例子中使用0.2.45:
我的软件包. json脚本:x1c 0d1x
我基于实体创建新迁移命令(记住先生成):

npm run migration:generate your_migration_name

试试看!

相关问题