@r1tsu/payload
Version:
21 lines (20 loc) • 926 B
JavaScript
/* eslint-disable no-restricted-syntax, no-await-in-loop */ import fs from 'fs';
import { migrationTemplate } from './migrationTemplate.js';
export const createMigration = async 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);
payload.logger.info({
msg: `Migration created at ${filePath}`
});
};
//# sourceMappingURL=createMigration.js.map