【问题标题】:can't create and generate typeorm migration无法创建和生成 typeorm 迁移
【发布时间】:2022-11-14 00:31:20
【问题描述】:

我想为我使用 typeorm 创建到数据库的实体生成

但我收到这样的错误

生成一个新的迁移文件,需要执行 sql 来更新 schema 没有足够的非选项参数:得到 0,至少需要 1 注意:此命令是通过 npm 模块 'win-node-env' 运行的 npm 错误!代码生命周期 npm 错误! crud_api_reuse@0.0.1 typeorm: 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"

`

但是当我尝试迁移时,我收到一个类似上面的错误 那么我应该怎么做才能迁移?

【问题讨论】:

    标签: postgresql migration nestjs typeorm


    【解决方案1】:

    我认为运行迁移的命令中的问题缺少一些参数。 您在运行新迁移之前构建了吗? 您使用的 typeorm 版本是什么? 在我的情况下使用 0.2.45:

    我的 package.json 脚本:

    我基于实体创建新迁移的命令(记住先构建):

    npm run migration:generate your_migration_name
    

    试试看!

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2021-12-05
      • 2021-08-02
      • 2021-04-29
      • 2019-12-27
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多