dbmodel commandline tool

This commit is contained in:
Jan Prochazka
2023-01-28 20:14:44 +01:00
parent 258338cd2e
commit bc1c827225
9 changed files with 162 additions and 109 deletions

View File

@@ -43,41 +43,15 @@ Model is stored as a collection of files:
```sh
# load from existing database
dbmodel load -s localhost -u USERNAME -p PASSWORD -d DATABASE -c mssql OUTPUT_FOLDER
dbmodel load -s localhost -u USERNAME -p PASSWORD -d DATABASE -e mssql@dbgate-plugin-mssql OUTPUT_FOLDER
# deploy project to database
dbmodel deploy -s localhost -u USERNAME -p PASSWORD -d DATABASE -c mssql PROJECT_FOLDER
dbmodel deploy -s localhost -u USERNAME -p PASSWORD -d DATABASE -e mssql@dbgate-plugin-mssql PROJECT_FOLDER
# build SQL script from project
dbmodel build -c mssql PROJECT_FOLDER OUTPUT_FILE.sql
dbmodel build -e mssql@dbgate-plugin-mssql PROJECT_FOLDER OUTPUT_FILE.sql
```
## JavaScript interface
```javascript
const dbmodel = require('dbmodel');
await dbmodel.deploy({
client: 'mssql',
connection: {
server: '127.0.0.1',
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: 'Chinook_Model',
},
hooks: [dbmodel.hooks.autoIndexForeignKeys], // this hook adds indexes to all foreign keys
projectDir: 'model',
})
```
list of dbmodel exported functions:
* build - builds SQL script
* deploy - deploys model to database
* dump - dumps loaded model into directory
* load - loads model from database
* read - reads model from directory
* connect - creates database connection defined in options
## Table yaml file documentation
```yaml