prisma-dbml-generator
Version:
Prisma DBML Generator
30 lines (29 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateDBMLSchema = exports.autoGeneratedComment = void 0;
const table_1 = require("./table");
const enums_1 = require("./enums");
const relations_1 = require("./relations");
const many_to_many_tables_1 = require("./many-to-many-tables");
const project_1 = require("./project");
exports.autoGeneratedComment = `//// ------------------------------------------------------
//// THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
//// ------------------------------------------------------`;
function generateDBMLSchema(dmmf, allowManyToMany = true, mapToDbSchema = false, includeRelationFields = true, projectOptions) {
const tables = (0, table_1.generateTables)(dmmf.datamodel.models, mapToDbSchema, includeRelationFields);
const manyToManyTables = allowManyToMany
? (0, many_to_many_tables_1.generateManyToManyTables)(dmmf.datamodel.models, mapToDbSchema)
: [];
const enums = (0, enums_1.generateEnums)(dmmf.datamodel.enums);
const refs = (0, relations_1.generateRelations)(dmmf.datamodel.models, mapToDbSchema);
const project = projectOptions ? (0, project_1.generateProject)(projectOptions) : [];
return [
exports.autoGeneratedComment,
...project,
...tables,
...manyToManyTables,
...enums,
...refs,
].join('\n\n');
}
exports.generateDBMLSchema = generateDBMLSchema;