0.1.9 • Published 3 years ago

sequelize-auto-json v0.1.9

Weekly downloads
4
License
MIT
Repository
-
Last release
3 years ago

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:

https://sequelize.readthedocs.org/en/latest/api/sequelize/

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