UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

26 lines (25 loc) 1.02 kB
// @ts-strict-ignore import fs from 'fs'; import { writeMigrationIndex } from '../../index.js'; import { migrationTemplate } from './migrationTemplate.js'; export const createMigration = function createMigration({ migrationName, payload }) { const dir = payload.db.migrationDir; if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } const [yyymmdd, hhmmss] = new Date().toISOString().split('T'); const formattedDate = yyymmdd.replace(/\D/g, ''); const formattedTime = hhmmss.split('.')[0].replace(/\D/g, ''); const timestamp = `${formattedDate}_${formattedTime}`; const formattedName = migrationName.replace(/\W/g, '_'); const fileName = `${timestamp}_${formattedName}.ts`; const filePath = `${dir}/${fileName}`; fs.writeFileSync(filePath, migrationTemplate); writeMigrationIndex({ migrationsDir: payload.db.migrationDir }); payload.logger.info({ msg: `Migration created at ${filePath}` }); }; //# sourceMappingURL=createMigration.js.map