0.1.9 • Published 3 years ago
sequelize-auto-json v0.1.9
Sequelize-Auto-Json
Sequelize-Auto-Json is a command line interface generating json models for SequelizeJS.
Add Functions of converting existing database to json file.
Inspired and modified from ozzysun.
Install
npm install -g sequelize-auto-json
Prerequisites
The correct dialect npm dtatbase binding are included with sequelize-auto-json.
Usage
[node] sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C
Options:
-h, --host IP/Hostname for the database. [required]
-d, --database Database name. [required]
-u, --user Username for database.
-x, --pass Password for database.
-p, --port Port number for database.
-c, --config JSON file for Sequelize's constructor "options" flag object as defined here: https://sequelize.readthedocs.org/en/latest/api/sequelize/
-o, --output What directory to place the models.
-e, --dialect The dialect/engine that you're using: postgres, mysql, mssql
-a, --additional Path to a json file containing model definitions (for all tables) which are to be defined within a model's configuration parameter. For more info: https://sequelize.readthedocs.org/en/latest/docs/models-definition/#configuration
-t, --tables Comma-separated names of tables to import
-T, --skip-tables Comma-separated names of tables to skip
-C, --camel Use camel case to name models and fields
-n, --no-write Prevent writing the models to disk.
-s, --schema Database schema from which to retrieve tables
-z, --typescript Output models as typescript with a definitions file.
-j --json Export json format model
Use Json Option
- Create Json
sequelize-auto-json -o "./models" -d dbName -h localhost -u username -p 3306 -x yourpassword -e mysql -j
- Build model from json
const { getModel } = require('./node_modules/sequelize/lib/utils') const model = await getModel(sequelize, jsonfilePath)
- json file format
[ { "tableName": "models" }, { "id": { "type": "DataTypes.INTEGER(11)", "allowNull": false, "primaryKey": true, "comment": "null", "autoIncrement": true }, "dbname": { "type": "DataTypes.STRING(45)", "allowNull": false, "autoIncrement": false, "comment": "null" }, "tablename": { "type": "DataTypes.STRING(45)", "allowNull": false, "autoIncrement": false, "comment": "null" }, "weekday": { "type": "DataTypes.ENUM(\"Sun\",\"Mon\",\"Tues\",\"Wed\",\"Thur\",\"Fri\",\"Sat\")", "allowNull": false, "autoIncrement": false, "comment": "null" }, "createdDate": { "type": "DataTypes.DATE", "allowNull": true, "defaultValue": "CURRENT_TIMESTAMP", "autoIncrement": false, "comment": "null" } } ]
Which makes it easy for you to simply Sequelize.import it.
Configuration options
For the -c, --config
option the following JSON/configuration parameters are defined by Sequelize's options
flag within the constructor. For more info:
0.1.8
3 years ago
0.1.7
3 years ago
0.1.9
3 years ago
0.1.6
3 years ago
0.1.5
4 years ago
0.1.4
4 years ago
0.1.3
4 years ago
0.1.2
4 years ago
0.1.1
4 years ago
0.1.0
4 years ago
0.0.9
4 years ago
0.0.8
4 years ago
0.0.7
4 years ago
0.0.6
4 years ago
0.0.5
4 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1
4 years ago