# Changelog

## 0.4.0

### BREAKING CHANGES

* Custom NamingStrategy is now defined as separate functions instead of a class
* Rework how parameters are passed to the library:
    - Utilization of partial config files
    - Option to save .tomg-config file without connection options
* Generation of separate fields for primary columns which are used in relations(old approach won't be compatible with typeorm@0.3.0)
* Remove timeout parameter - query timeout is now set by default to 1 hr
* Change default case conversions for generated files (#196)

### FIXES
* Support complex relationships (#117)
* Proper support for many to many relations
* Proper pluralization of entity names (#142)
* Skip generation of imports not used by entity definition files
* Skip generation of indices generated by PKs or relations
* Columns with unrecognized sql type are generated with unknown type
* Generation of proper type for nullable columns
* Fixed specifying custom naming strategy by relative path (#171)
* Disallow generation of relationId fields with lazy relations(not supported in typeorm)

### ENHANCEMENTS
* Support for old oracle versions (#195) 
* New options:
    * Disable column name pluralization (#142)
    * Ignore tables parameter (#120)
    * Generation of index file (#174)
    * Default exports on generated models
* Enum type safety (#205)
* Mysql set type support (#91)
* Postgres geography type support (#232)
* Make generated models compatible with common ESLint rules
* Ability to use typeorm-model-generator as library in other projects (but no guarantees about api compatibility between different version)

## 0.3.5

* moved to ts-node - you can now use this library installed directly from github repo
* support for UNSIGNED columns in MySQL (#179)
* support for richer derivation of column & entity name (#176)
* new option to generate code compliant with `strictPropertyInitialization` flag(#136, #182)
* new option to skip schema and database identifier in generated entities (#177)
* new option to specify request timeout (#185)
* added property visibility to RelationId properties (#167)
* disabled generating complex relationships(until #117 is fixed)
* fixed issue with setting precision when scale isn't default on numeric types (#184)
* PostgreSQL enum support (#187)
* generating access modifier to constructor (#169)
* fixed RelationId generation with different casing scenarios (#192)

## 0.3.4

* fixed using property case on uppercase columns(#157)

## 0.3.3

* added bit type support for mysql/mariadb
* fixed generation of relations with only onUpdate defined(#139)

## 0.3.2
* added option to generate models based on multiple databases(#144)
* fixed generation of ManyToMany relations on junction tables with custom names(#151)
* fixed problems with mysql 8
* fixed shadowed variables tslint errors(#141)
* fixed order of generated columns
* mariadb default value compatibility changes(#153)

## 0.3.1
* Fixed npx usage(#146)

# 0.3.0
* Wizard mode - you can now run model generation without passing any parameters and provide them step by step. It also allows you to save provided informations for future use
* generated columns no longer contains options which are set by default in typeorm
* added support for VARBINARY type on MySQL, MariaDb
* fixed issue with case conversion and @RetlationId fields
* a lot of internal work

## 0.2.25
* fixed naming strategy changing entity name in db
* fixed proper relation generation when unique index have more columns

## 0.2.24
* fixed generation of default values
* fixed generation of duplicate relations for mysql
* added option for generating entities for AciveRecord pattern

## 0.2.23
* added column type to generated `@PrimaryGeneratedColumn` decorator
* allow to define property visibility, by using --pv
* fixed some problems with duplicated relationships on mysql database

## 0.2.22
* fixed naming strategy for guid ended column names
* fixed column names case conversion in index declarations

## 0.2.21
* primary keys using identity/sequence are now generated with `@PrimaryGeneratedColumn` decorator [#96](https://github.com/Kononnable/typeorm-model-generator/issues/96)

## 0.2.20
* relation onUpdate fixes
* postgres support for citext, hstore, geometry, array column types
* upgraded typeorm version

## 0.2.19
* custom naming strategy fixes
* dependencies update

## 0.2.18
* oracle output format fixed

## 0.2.17

* added support for relationId fields
* added support for custom naming entity fields
* removed oracledb from dependencies
* generating nullable column types for nullable columns