Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
25 lines
995 B
Plaintext
25 lines
995 B
Plaintext
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 |