UNPKG

@sap/cds-dk

Version:

Command line client and development toolkit for the SAP Cloud Application Programming Model

30 lines (26 loc) 1.29 kB
exports.deploy = function deploy_to_sqlite (_model, _db, options) { if (options.dialect === 'h2' && !options.dry) console.error('\nDeploying into a H2 database is not yet supported\n') const cds = require('../../lib/cds') const conf = cds.env.requires.db ?? {} const fts = cds.env.requires.toggles && cds.env.features.folders const model = _model || cds.resolve(!fts ? '*' : ['*',fts], false) let file = 'db' if (options.to) { file = 'sqlite:'+ _database4 (_db, options.to, conf) // current 'sqlite' default is bad, as we want to default to 'plain', so ignore it const env_dialect = cds.env.sql.dialect || 'plain' const to_dialect = options.to && options.to.match(/^(\w+)/) && RegExp.$1 if (to_dialect) options.dialect = (to_dialect === 'sql') ? conf.dialect ?? env_dialect : to_dialect } return cds.deploy(model) .to (file, options) } function _database4 (_db,_dbrl,conf) { if (_db) return _db if (_dbrl === 'sqlite') return 'db.sqlite' if (conf.credentials?.database) return conf.credentials.database if (conf.credentials?.url) return conf.credentials.url if (_dbrl === 'sql') return ':memory:' else return conf.credentials?.database ?? conf.credentials?.url }