NodeJS 尝试运行迁移时显示“No migrations pending”(无迁移挂起),用于正常工作

kb5ga3dv  于 2023-02-21  发布在  Node.js
关注(0)|答案(1)|浏览(149)

我有一个网络应用程序,我写了一个迁移器来创建我所有的表和关系,最近无论我怎么尝试,typeorm似乎找不到这个迁移器,因此,不运行它。
我的文件结构(仅迁移)
src〉数据库〉迁移〉1663525805095-添加用户. ts,1663529676790-使研究所可为空.ts

标准配置ts

import { DataSource } from 'typeorm';
import { ConfigService } from '@nestjs/config';
import { config } from 'dotenv';

config();

const configService = new ConfigService();

const source = new DataSource({
  type: 'postgres',
  host: configService.get('POSTGRES_HOST'),
  port: configService.get('POSTGRES_PORT'),
  username: configService.get('POSTGRES_USER'),
  password: configService.get('POSTGRES_PASSWORD'),
  database: configService.get('POSTGRES_DB'),
  synchronize: false,
  logging: false,
  migrations: ['src/database/migrations/*.ts'],
  migrationsTableName: 'migrations',
  entities: ['src/**/*.entity.ts'],
});

export default source;

为了运行这个命令,我输入yarn start:dev来启动我的服务器,然后运行yarn migrations:run,得到:

query: SELECT * FROM current_schema()
query: SELECT version();
query: SELECT * FROM "information_schema"."tables" WHERE "table_schema" = 'public' AND "table_name" = 'migrations'
query: CREATE TABLE "migrations" ("id" SERIAL NOT NULL, "timestamp" bigint NOT NULL, "name" character varying NOT NULL, CONSTRAINT "PK_8c82d7f526340ab734260ea46be" PRIMARY KEY ("id"))
query: SELECT * FROM "migrations" "migrations" ORDER BY "id" DESC
No migrations are pending

当我查看我的数据库时,我看到一个没有条目的migrations表。
我曾尝试删除我的迁移程序文件,并使用更近的时间戳重新创建它,但也不起作用。

我的包中的脚本.json"migrations:run": "yarn typeorm migration:run""typeorm": "typeorm-ts-node-commonjs -d ./ormconfig.ts""start:dev": "nest start --watch"

其他信息我正在使用docker的postgres数据库和pgAdmin,它连接没有问题。任何帮助将不胜感激。

y4ekin9u

y4ekin9u1#

尝试

migrations: ['dist/database/migrations/*.{ts,js}'],
  migrationsRun: true,

并记住在生成迁移之前进行构建

相关问题