@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
22 lines (20 loc) • 1.08 kB
JavaScript
;var reinforcements=require('@mongez/reinforcements'),formatDate=require('../../utils/format-date.js'),lines=require('../../utils/lines.js'),prettifier=require('../../utils/prettifier.js');async function generateMigrationTemplate(options) {
const { modelClass, modelFileName, migrationFunctionName, indexes, indexesDown, } = options;
const importPath = `../${modelFileName.replace(/^\.\//, "")}`;
const content = `
import { migrationOffice, type Blueprint } from "@warlock.js/cascade";
import { ${modelClass} } from "${importPath}";
export default migrationOffice.register({
name: "${migrationFunctionName}",
createdAt: "${formatDate.formatDate()}",
blueprint: ${reinforcements.toStudlyCase(modelClass)}.blueprint(),
up: (blueprint: Blueprint) => {
${indexes.join(lines.newLine)}
},
down: (blueprint: Blueprint) => {
${indexesDown.join(lines.newLine)}
},
});
`;
return await prettifier.format.typescript(content);
}exports.generateMigrationTemplate=generateMigrationTemplate;//# sourceMappingURL=template.js.map