Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
try {
const dmmf = await getDMMF({ datamodel: introspectionSchema })
// add the datasource itself to the schema in case no schema.prisma exists yet
const datasources: DataSource[] = [
{
name: 'db',
config: {},
connectorType,
url: {
value: url,
fromEnvVar: null,
},
},
]
const schema = await dmmfToDml({
config: config || {
datasources,
generators: [],
},
dmmf: dmmf.datamodel,
})
log(`Done with introspection in ${chalk.bold(formatms(Date.now() - before))}`)
if (args['--print']) {
console.log(schema)
} else {
if (schemaPath && fs.existsSync(schemaPath)) {
const backupPath = path.join(path.dirname(schemaPath), 'schema.backup.prisma')
fs.renameSync(schemaPath, backupPath)
log(
export async function replaceDatasource(datamodel: string, datasource: DataSource): Promise {
const [dmmf, config] = await Promise.all([getDMMF({ datamodel }), getConfig({ datamodel })])
config.datasources = [datasource]
return dmmfToDml({
config,
dmmf: dmmf.datamodel,
})
}
export async function replaceGenerator(datamodel: string, generator: GeneratorConfig): Promise {
const [dmmf, config] = await Promise.all([getDMMF({ datamodel }), getConfig({ datamodel })])
config.generators = [generator]
return dmmfToDml({
config,
dmmf: dmmf.datamodel,
})
}