@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
22 lines (20 loc) • 994 B
JavaScript
import {toStudlyCase}from'@mongez/reinforcements';import {formatDate}from'../../utils/format-date.js';import {newLine}from'../../utils/lines.js';import {format}from'../../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()}",
blueprint: ${toStudlyCase(modelClass)}.blueprint(),
up: (blueprint: Blueprint) => {
${indexes.join(newLine)}
},
down: (blueprint: Blueprint) => {
${indexesDown.join(newLine)}
},
});
`;
return await format.typescript(content);
}export{generateMigrationTemplate};//# sourceMappingURL=template.js.map