Go to file
2019-04-01 14:10:53 +02:00
bin readme, preparation to npm publish 2017-07-20 23:16:55 +02:00
src mariadb default value comatibility changes 2019-03-15 13:28:24 +01:00
test generation of models based on multiple databases 2019-03-08 23:24:00 +01:00
.editorconfig Added editorconfig 2017-12-30 16:04:10 +01:00
.gitignore stroring config settings in a file 2019-01-26 13:48:12 +01:00
.npmignore code cleanup, introducing tslint 2018-12-08 10:46:18 +01:00
.prettierrc added prettier 2018-02-04 23:38:43 +01:00
.travis.yml fixing TravisCI test command 2019-03-12 22:25:39 +01:00
CHANGELOG.md 0.3.2 2019-03-15 13:30:15 +01:00
codecov.yml codecov config change 2019-04-01 14:10:53 +02:00
docker-compose.yml docker image changes 2018-12-29 17:42:53 +01:00
LICENSE Initial commit 2017-03-23 20:52:39 +01:00
package-lock.json 0.3.2 2019-03-15 13:30:15 +01:00
package.json 0.3.2 2019-03-15 13:30:15 +01:00
README.md Add flag to models that use the ActiveRecord syntax. 2018-12-19 10:25:49 -06:00
tsconfig.json OracleDB support #9 2018-04-15 18:13:33 +02:00

typeorm-model-generator

Greenkeeper badge Build Status npm version codecov

Generates models for TypeORM from existing databases. Suported db engines:

  • Microsoft SQL Server
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle Database
  • SQLite

Installation

Global module

To install module globally simply type npm i -g typeorm-model-generator in your console.

Npx way

Thanks to npx you can use npm modules without polluting global installs. So nothing to do here :)

To use npx you need to use npm at version at least 5.2.0. Try updating your npm by npm i -g npm

Database drivers

All database drivers except oracle are installed by default. To use typeorm-model-generator with oracle databese you need to install driver with npm i oracledb and configure oracle install client on your machine.

Usage

Usage: typeorm-model-generator -h <host> -d <database> -p [port] -u <user> -x
[password] -e [engine]

Options:
  --help                 Show help                                     [boolean]
  --version              Show version number                           [boolean]
  -h, --host             IP adress/Hostname for database server
                                                          [default: "127.0.0.1"]
  -d, --database         Database name(or path for sqlite)            [required]
  -u, --user             Username for database server
  -x, --pass             Password for database server              [default: ""]
  -p, --port             Port number for database server
  -e, --engine           Database engine
          [choices: "mssql", "postgres", "mysql", "mariadb", "oracle", "sqlite"]
                                                              [default: "mssql"]
  -o, --output           Where to place generated models
                            [default: "Z:\Repos\typeorm-model-generator\output"]
  -s, --schema           Schema name to create model from. Only for mssql and
                         postgres
  --ssl                                               [boolean] [default: false]
  --noConfig             Doesn't create tsconfig.json and ormconfig.json
                                                      [boolean] [default: false]
  --cf, --case-file      Convert file names to specified case
                 [choices: "pascal", "param", "camel", "none"] [default: "none"]
  --ce, --case-entity    Convert class names to specified case
                          [choices: "pascal", "camel", "none"] [default: "none"]
  --cp, --case-property  Convert property names to specified case
                          [choices: "pascal", "camel", "none"] [default: "none"]
  --lazy                 Generate lazy relations      [boolean] [default: false]
  -a, --active-record    Generate models that use the ActiveRecord syntax
                                                      [boolean] [default: false]
  --namingStrategy       Use custom naming strategy
  --relationIds          Generate RelationId fields   [boolean] [default: false]
  --generateConstructor  Generate constructor allowing partial initialization
                                                      [boolean] [default: false]

Examples

  • Creating model from local MSSQL database
    • Global module
      typeorm-model-generator -h localhost -d tempdb -u sa -x !Passw0rd -e mssql -o .
      
    • Npx Way
      npx typeorm-model-generator -h localhost -d tempdb -u sa -x !Passw0rd -e mssql -o .
      
  • Creating model from local Postgres database, public schema with ssl connection
    • Global module
      typeorm-model-generator -h localhost -d postgres -u postgres -x !Passw0rd -e postgres -o . -s public --ssl
      
    • Npx Way
      npx typeorm-model-generator -h localhost -d postgres -u postgres -x !Passw0rd -e postgres -o . -s public --ssl
      
  • Creating model from SQLite database
    • Global module
      typeorm-model-generator -d "Z:\sqlite.db" -e sqlite -o .
      
    • Npx Way
      npx typeorm-model-generator -d "Z:\sqlite.db" -e sqlite -o .
      

Naming strategy

If you want to generate custom names for properties in generated entities you need to use custom naming strategy. You need to create your own version of NamingStrategy and pass it as command parameter.

typeorm-model-generator -d typeorm_mg --namingStrategy=./NamingStrategy -e sqlite -db /tmp/sqliteto.db