Skip to content

Commit d20445b

Browse files
authored
fix(db-mongodb): write migrations index file (#9071)
fix: remove 'undefined' written into mongodb migrations fix: write migrations index file
1 parent 1f26237 commit d20445b

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

packages/db-mongodb/src/createMigration.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ import type { CreateMigration, MigrationTemplateArgs } from 'payload'
22

33
import fs from 'fs'
44
import path from 'path'
5-
import { getPredefinedMigration } from 'payload'
5+
import { getPredefinedMigration, writeMigrationIndex } from 'payload'
66
import { fileURLToPath } from 'url'
77

88
const migrationTemplate = ({ downSQL, imports, upSQL }: MigrationTemplateArgs): string => `import {
9-
MigrateUpArgs,
109
MigrateDownArgs,
10+
MigrateUpArgs,
1111
} from '@payloadcms/db-mongodb'
12-
${imports}
13-
12+
${imports ?? ''}
1413
export async function up({ payload, req }: MigrateUpArgs): Promise<void> {
1514
${upSQL ?? ` // Migration code`}
1615
}
@@ -51,5 +50,8 @@ export const createMigration: CreateMigration = async function createMigration({
5150
const fileName = migrationName ? `${timestamp}_${formattedName}.ts` : `${timestamp}_migration.ts`
5251
const filePath = `${dir}/${fileName}`
5352
fs.writeFileSync(filePath, migrationFileContent)
53+
54+
writeMigrationIndex({ migrationsDir: payload.db.migrationDir })
55+
5456
payload.logger.info({ msg: `Migration created at ${filePath}` })
5557
}

test/database/int.spec.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ describe('database', () => {
145145
expect(migrationFile).toContain('_test')
146146
})
147147

148+
it('should create index.ts file in the migrations directory with file imports', () => {
149+
const indexFile = path.join(payload.db.migrationDir, 'index.ts')
150+
const indexFileContent = fs.readFileSync(indexFile, 'utf8')
151+
expect(indexFileContent).toContain("_test from './")
152+
})
153+
148154
it('should run migrate', async () => {
149155
let error
150156
try {

0 commit comments

Comments
 (0)