typeorm 0.2.42-dev.3286519 → 0.2.42-dev.a0f09de

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  2. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  3. package/browser/decorator/options/ColumnOptions.d.ts +4 -0
  4. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  5. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  6. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  7. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  8. package/browser/driver/postgres/PostgresQueryRunner.js +3 -1
  9. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  10. package/browser/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  11. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  12. package/browser/metadata/ColumnMetadata.d.ts +4 -0
  13. package/browser/metadata/ColumnMetadata.js +2 -0
  14. package/browser/metadata/ColumnMetadata.js.map +1 -1
  15. package/browser/schema-builder/options/TableColumnOptions.d.ts +4 -0
  16. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  17. package/browser/schema-builder/table/TableColumn.d.ts +4 -0
  18. package/browser/schema-builder/table/TableColumn.js +2 -0
  19. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  20. package/browser/schema-builder/util/TableUtils.js +1 -0
  21. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  22. package/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  23. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  24. package/decorator/options/ColumnOptions.d.ts +4 -0
  25. package/decorator/options/ColumnOptions.js.map +1 -1
  26. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  27. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
  28. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  29. package/driver/postgres/PostgresQueryRunner.js +3 -1
  30. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  31. package/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  32. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  33. package/metadata/ColumnMetadata.d.ts +4 -0
  34. package/metadata/ColumnMetadata.js +2 -0
  35. package/metadata/ColumnMetadata.js.map +1 -1
  36. package/package.json +1 -1
  37. package/schema-builder/options/TableColumnOptions.d.ts +4 -0
  38. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  39. package/schema-builder/table/TableColumn.d.ts +4 -0
  40. package/schema-builder/table/TableColumn.js +2 -0
  41. package/schema-builder/table/TableColumn.js.map +1 -1
  42. package/schema-builder/util/TableUtils.js +1 -0
  43. package/schema-builder/util/TableUtils.js.map +1 -1
@@ -1,5 +1,6 @@
1
1
  import { PrimaryGeneratedColumnNumericOptions } from "../options/PrimaryGeneratedColumnNumericOptions";
2
2
  import { PrimaryGeneratedColumnUUIDOptions } from "../options/PrimaryGeneratedColumnUUIDOptions";
3
+ import { PrimaryGeneratedColumnIdentityOptions } from "../options/PrimaryGeneratedColumnIdentityOptions";
3
4
  /**
4
5
  * Column decorator is used to mark a specific class property as a table column.
5
6
  */
@@ -20,4 +21,4 @@ export declare function PrimaryGeneratedColumn(strategy: "uuid", options?: Prima
20
21
  * Column decorator is used to mark a specific class property as a table column.
21
22
  */
22
23
  export declare function PrimaryGeneratedColumn(strategy: "rowid", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;
23
- export declare function PrimaryGeneratedColumn(strategy: "identity", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;
24
+ export declare function PrimaryGeneratedColumn(strategy: "identity", options?: PrimaryGeneratedColumnIdentityOptions): PropertyDecorator;
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/columns/PrimaryGeneratedColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAiCrD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,iBAAgI,EAChI,YAAqF;IAExH,uBAAuB;IACvB,IAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,QAA+C,CAAC;IACpD,IAAI,iBAAiB,EAAE;QACnB,IAAI,OAAO,iBAAiB,KAAK,QAAQ;YACrC,QAAQ,GAAG,iBAA0D,CAAC;QAE1E,IAAI,iBAAiB,YAAY,MAAM,EAAE;YACrC,QAAQ,GAAG,WAAW,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC7C;KACJ;SAAM;QACH,QAAQ,GAAG,WAAW,CAAC;KAC1B;IACD,IAAI,YAAY,YAAY,MAAM;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEzC,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,sFAAsF;QACtF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACf,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,UAAU,EAAE;gBACrD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;aACzB;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;gBAC5B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;aACzB;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;gBAC7B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;aACxB;SACJ;QAED,2DAA2D;QAC3D,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,gCAAgC;QAChC,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;QAEH,mCAAmC;QACnC,sBAAsB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,QAAQ;SACI,CAAC,CAAC;IAChC,CAAC,CAAC;AACN,CAAC","file":"PrimaryGeneratedColumn.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {PrimaryGeneratedColumnNumericOptions} from \"../options/PrimaryGeneratedColumnNumericOptions\";\nimport {PrimaryGeneratedColumnUUIDOptions} from \"../options/PrimaryGeneratedColumnUUIDOptions\";\nimport {GeneratedMetadataArgs} from \"../../metadata-args/GeneratedMetadataArgs\";\nimport { ColumnOptions } from \"../options/ColumnOptions\";\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(options: PrimaryGeneratedColumnNumericOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"increment\", options?: PrimaryGeneratedColumnNumericOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"uuid\", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"rowid\", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;\n\nexport function PrimaryGeneratedColumn(strategy: \"identity\", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n * Only properties decorated with this decorator will be persisted to the database when entity be saved.\n * This column creates an integer PRIMARY COLUMN with generated set to true.\n */\nexport function PrimaryGeneratedColumn(strategyOrOptions?: \"increment\"|\"uuid\"|\"rowid\"|\"identity\"|PrimaryGeneratedColumnNumericOptions|PrimaryGeneratedColumnUUIDOptions,\n maybeOptions?: PrimaryGeneratedColumnNumericOptions|PrimaryGeneratedColumnUUIDOptions): PropertyDecorator {\n\n // normalize parameters\n const options: ColumnOptions = {};\n let strategy: \"increment\"|\"uuid\"|\"rowid\"|\"identity\";\n if (strategyOrOptions) {\n if (typeof strategyOrOptions === \"string\")\n strategy = strategyOrOptions as \"increment\"|\"uuid\"|\"rowid\"|\"identity\";\n\n if (strategyOrOptions instanceof Object) {\n strategy = \"increment\";\n Object.assign(options, strategyOrOptions);\n }\n } else {\n strategy = \"increment\";\n }\n if (maybeOptions instanceof Object)\n Object.assign(options, maybeOptions);\n\n return function (object: Object, propertyName: string) {\n\n // if column type is not explicitly set then determine it based on generation strategy\n if (!options.type) {\n if (strategy === \"increment\" || strategy === \"identity\") {\n options.type = Number;\n } else if (strategy === \"uuid\") {\n options.type = \"uuid\";\n } else if (strategy === \"rowid\") {\n options.type = \"int\";\n }\n }\n\n // explicitly set a primary and generated to column options\n options.primary = true;\n\n // register column metadata args\n getMetadataArgsStorage().columns.push({\n target: object.constructor,\n propertyName: propertyName,\n mode: \"regular\",\n options: options\n });\n\n // register generated metadata args\n getMetadataArgsStorage().generations.push({\n target: object.constructor,\n propertyName: propertyName,\n strategy: strategy\n } as GeneratedMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/decorator/columns/PrimaryGeneratedColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAkCrD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,iBAAsK,EACtK,YAA2H;IAE9J,uBAAuB;IACvB,IAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,QAA+C,CAAC;IACpD,IAAI,iBAAiB,EAAE;QACnB,IAAI,OAAO,iBAAiB,KAAK,QAAQ;YACrC,QAAQ,GAAG,iBAA0D,CAAC;QAE1E,IAAI,iBAAiB,YAAY,MAAM,EAAE;YACrC,QAAQ,GAAG,WAAW,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC7C;KACJ;SAAM;QACH,QAAQ,GAAG,WAAW,CAAC;KAC1B;IACD,IAAI,YAAY,YAAY,MAAM;QAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEzC,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,sFAAsF;QACtF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACf,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,UAAU,EAAE;gBACrD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;aACzB;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;gBAC5B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;aACzB;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;gBAC7B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;aACxB;SACJ;QAED,2DAA2D;QAC3D,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,gCAAgC;QAChC,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;QAEH,mCAAmC;QACnC,sBAAsB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,QAAQ;SACI,CAAC,CAAC;IAChC,CAAC,CAAC;AACN,CAAC","file":"PrimaryGeneratedColumn.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {PrimaryGeneratedColumnNumericOptions} from \"../options/PrimaryGeneratedColumnNumericOptions\";\nimport {PrimaryGeneratedColumnUUIDOptions} from \"../options/PrimaryGeneratedColumnUUIDOptions\";\nimport {GeneratedMetadataArgs} from \"../../metadata-args/GeneratedMetadataArgs\";\nimport { ColumnOptions } from \"../options/ColumnOptions\";\nimport { PrimaryGeneratedColumnIdentityOptions } from \"../options/PrimaryGeneratedColumnIdentityOptions\";\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(options: PrimaryGeneratedColumnNumericOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"increment\", options?: PrimaryGeneratedColumnNumericOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"uuid\", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n */\nexport function PrimaryGeneratedColumn(strategy: \"rowid\", options?: PrimaryGeneratedColumnUUIDOptions): PropertyDecorator;\n\nexport function PrimaryGeneratedColumn(strategy: \"identity\", options?: PrimaryGeneratedColumnIdentityOptions): PropertyDecorator;\n\n/**\n * Column decorator is used to mark a specific class property as a table column.\n * Only properties decorated with this decorator will be persisted to the database when entity be saved.\n * This column creates an integer PRIMARY COLUMN with generated set to true.\n */\nexport function PrimaryGeneratedColumn(strategyOrOptions?: \"increment\"|\"uuid\"|\"rowid\"|\"identity\"|PrimaryGeneratedColumnNumericOptions|PrimaryGeneratedColumnUUIDOptions|PrimaryGeneratedColumnIdentityOptions,\n maybeOptions?: PrimaryGeneratedColumnNumericOptions|PrimaryGeneratedColumnUUIDOptions|PrimaryGeneratedColumnIdentityOptions): PropertyDecorator {\n\n // normalize parameters\n const options: ColumnOptions = {};\n let strategy: \"increment\"|\"uuid\"|\"rowid\"|\"identity\";\n if (strategyOrOptions) {\n if (typeof strategyOrOptions === \"string\")\n strategy = strategyOrOptions as \"increment\"|\"uuid\"|\"rowid\"|\"identity\";\n\n if (strategyOrOptions instanceof Object) {\n strategy = \"increment\";\n Object.assign(options, strategyOrOptions);\n }\n } else {\n strategy = \"increment\";\n }\n if (maybeOptions instanceof Object)\n Object.assign(options, maybeOptions);\n\n return function (object: Object, propertyName: string) {\n\n // if column type is not explicitly set then determine it based on generation strategy\n if (!options.type) {\n if (strategy === \"increment\" || strategy === \"identity\") {\n options.type = Number;\n } else if (strategy === \"uuid\") {\n options.type = \"uuid\";\n } else if (strategy === \"rowid\") {\n options.type = \"int\";\n }\n }\n\n // explicitly set a primary and generated to column options\n options.primary = true;\n\n // register column metadata args\n getMetadataArgsStorage().columns.push({\n target: object.constructor,\n propertyName: propertyName,\n mode: \"regular\",\n options: options\n });\n\n // register generated metadata args\n getMetadataArgsStorage().generations.push({\n target: object.constructor,\n propertyName: propertyName,\n strategy: strategy\n } as GeneratedMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
@@ -118,6 +118,10 @@ export interface ColumnOptions extends ColumnCommonOptions {
118
118
  * Generated column type. Supports only in MySQL.
119
119
  */
120
120
  generatedType?: "VIRTUAL" | "STORED";
121
+ /**
122
+ * Identity column type. Supports only in Postgres 10+.
123
+ */
124
+ generatedIdentity?: "ALWAYS" | "BY DEFAULT";
121
125
  /**
122
126
  * Return type of HSTORE column.
123
127
  * Returns value as string or as object.
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/decorator/options/ColumnOptions.ts"],"names":[],"mappings":"","file":"ColumnOptions.js","sourcesContent":["import {ColumnType} from \"../../driver/types/ColumnTypes\";\nimport {ValueTransformer} from \"./ValueTransformer\";\nimport {ColumnCommonOptions} from \"./ColumnCommonOptions\";\n\n/**\n * Describes all column's options.\n */\nexport interface ColumnOptions extends ColumnCommonOptions {\n\n /**\n * Column type. Must be one of the value from the ColumnTypes class.\n */\n type?: ColumnType;\n\n /**\n * Column name in the database.\n */\n name?: string;\n\n /**\n * Column type's length. Used only on some column types.\n * For example type = \"string\" and length = \"100\" means that ORM will create a column with type varchar(100).\n */\n length?: string|number;\n\n /**\n * Column type's display width. Used only on some column types in MySQL.\n * For example, INT(4) specifies an INT with a display width of four digits.\n */\n width?: number;\n\n /**\n * Indicates if column's value can be set to NULL.\n */\n nullable?: boolean;\n\n /**\n * Indicates if column value is not updated by \"save\" operation.\n * It means you'll be able to write this value only when you first time insert the object.\n * Default value is \"false\".\n *\n * @deprecated Please use the `update` option instead. Careful, it takes\n * the opposite value to readonly.\n *\n */\n readonly?: boolean;\n\n /**\n * Indicates if column value is updated by \"save\" operation.\n * If false, you'll be able to write this value only when you first time insert the object.\n * Default value is \"true\".\n */\n update?: boolean;\n\n /**\n * Indicates if column is always selected by QueryBuilder and find operations.\n * Default value is \"true\".\n */\n select?: boolean;\n\n /**\n * Indicates if column is inserted by default.\n * Default value is \"true\".\n */\n insert?: boolean;\n\n /**\n * Default database value.\n */\n default?: any;\n\n /**\n * ON UPDATE trigger. Works only for MySQL.\n */\n onUpdate?: string;\n\n /**\n * Indicates if this column is a primary key.\n * Same can be achieved when @PrimaryColumn decorator is used.\n */\n primary?: boolean;\n\n /**\n * Specifies if column's value must be unique or not.\n */\n unique?: boolean;\n\n /**\n * Column comment. Not supported by all database types.\n */\n comment?: string;\n\n /**\n * The precision for a decimal (exact numeric) column (applies only for decimal column), which is the maximum\n * number of digits that are stored for the values.\n */\n precision?: number|null;\n\n /**\n * The scale for a decimal (exact numeric) column (applies only for decimal column), which represents the number\n * of digits to the right of the decimal point and must not be greater than precision.\n */\n scale?: number;\n\n /**\n * Puts ZEROFILL attribute on to numeric column. Works only for MySQL.\n * If you specify ZEROFILL for a numeric column, MySQL automatically adds the UNSIGNED attribute to this column\n */\n zerofill?: boolean;\n\n /**\n * Puts UNSIGNED attribute on to numeric column. Works only for MySQL.\n */\n unsigned?: boolean;\n\n /**\n * Defines a column character set.\n * Not supported by all database types.\n */\n charset?: string;\n\n /**\n * Defines a column collation.\n */\n collation?: string;\n\n /**\n * Array of possible enumerated values.\n */\n enum?: (string|number)[]|Object;\n /**\n * Exact name of enum\n */\n enumName?: string;\n\n /**\n * Generated column expression. Supports only in MySQL.\n */\n asExpression?: string;\n\n /**\n * Generated column type. Supports only in MySQL.\n */\n generatedType?: \"VIRTUAL\"|\"STORED\";\n\n /**\n * Return type of HSTORE column.\n * Returns value as string or as object.\n */\n hstoreType?: \"object\"|\"string\";\n\n /**\n * Indicates if this column is an array.\n * Can be simply set to true or array length can be specified.\n * Supported only by postgres.\n */\n array?: boolean;\n\n /**\n * Specifies a value transformer that is to be used to (un)marshal\n * this column when reading or writing to the database.\n */\n transformer?: ValueTransformer|ValueTransformer[];\n\n /**\n * Spatial Feature Type (Geometry, Point, Polygon, etc.)\n */\n spatialFeatureType?: string;\n\n /**\n * SRID (Spatial Reference ID (EPSG code))\n */\n srid?: number;\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/decorator/options/ColumnOptions.ts"],"names":[],"mappings":"","file":"ColumnOptions.js","sourcesContent":["import {ColumnType} from \"../../driver/types/ColumnTypes\";\nimport {ValueTransformer} from \"./ValueTransformer\";\nimport {ColumnCommonOptions} from \"./ColumnCommonOptions\";\n\n/**\n * Describes all column's options.\n */\nexport interface ColumnOptions extends ColumnCommonOptions {\n\n /**\n * Column type. Must be one of the value from the ColumnTypes class.\n */\n type?: ColumnType;\n\n /**\n * Column name in the database.\n */\n name?: string;\n\n /**\n * Column type's length. Used only on some column types.\n * For example type = \"string\" and length = \"100\" means that ORM will create a column with type varchar(100).\n */\n length?: string|number;\n\n /**\n * Column type's display width. Used only on some column types in MySQL.\n * For example, INT(4) specifies an INT with a display width of four digits.\n */\n width?: number;\n\n /**\n * Indicates if column's value can be set to NULL.\n */\n nullable?: boolean;\n\n /**\n * Indicates if column value is not updated by \"save\" operation.\n * It means you'll be able to write this value only when you first time insert the object.\n * Default value is \"false\".\n *\n * @deprecated Please use the `update` option instead. Careful, it takes\n * the opposite value to readonly.\n *\n */\n readonly?: boolean;\n\n /**\n * Indicates if column value is updated by \"save\" operation.\n * If false, you'll be able to write this value only when you first time insert the object.\n * Default value is \"true\".\n */\n update?: boolean;\n\n /**\n * Indicates if column is always selected by QueryBuilder and find operations.\n * Default value is \"true\".\n */\n select?: boolean;\n\n /**\n * Indicates if column is inserted by default.\n * Default value is \"true\".\n */\n insert?: boolean;\n\n /**\n * Default database value.\n */\n default?: any;\n\n /**\n * ON UPDATE trigger. Works only for MySQL.\n */\n onUpdate?: string;\n\n /**\n * Indicates if this column is a primary key.\n * Same can be achieved when @PrimaryColumn decorator is used.\n */\n primary?: boolean;\n\n /**\n * Specifies if column's value must be unique or not.\n */\n unique?: boolean;\n\n /**\n * Column comment. Not supported by all database types.\n */\n comment?: string;\n\n /**\n * The precision for a decimal (exact numeric) column (applies only for decimal column), which is the maximum\n * number of digits that are stored for the values.\n */\n precision?: number|null;\n\n /**\n * The scale for a decimal (exact numeric) column (applies only for decimal column), which represents the number\n * of digits to the right of the decimal point and must not be greater than precision.\n */\n scale?: number;\n\n /**\n * Puts ZEROFILL attribute on to numeric column. Works only for MySQL.\n * If you specify ZEROFILL for a numeric column, MySQL automatically adds the UNSIGNED attribute to this column\n */\n zerofill?: boolean;\n\n /**\n * Puts UNSIGNED attribute on to numeric column. Works only for MySQL.\n */\n unsigned?: boolean;\n\n /**\n * Defines a column character set.\n * Not supported by all database types.\n */\n charset?: string;\n\n /**\n * Defines a column collation.\n */\n collation?: string;\n\n /**\n * Array of possible enumerated values.\n */\n enum?: (string|number)[]|Object;\n /**\n * Exact name of enum\n */\n enumName?: string;\n\n /**\n * Generated column expression. Supports only in MySQL.\n */\n asExpression?: string;\n\n /**\n * Generated column type. Supports only in MySQL.\n */\n generatedType?: \"VIRTUAL\"|\"STORED\";\n\n /**\n * Identity column type. Supports only in Postgres 10+.\n */\n generatedIdentity?: \"ALWAYS\"|\"BY DEFAULT\";\n\n /**\n * Return type of HSTORE column.\n * Returns value as string or as object.\n */\n hstoreType?: \"object\"|\"string\";\n\n /**\n * Indicates if this column is an array.\n * Can be simply set to true or array length can be specified.\n * Supported only by postgres.\n */\n array?: boolean;\n\n /**\n * Specifies a value transformer that is to be used to (un)marshal\n * this column when reading or writing to the database.\n */\n transformer?: ValueTransformer|ValueTransformer[];\n\n /**\n * Spatial Feature Type (Geometry, Point, Polygon, etc.)\n */\n spatialFeatureType?: string;\n\n /**\n * SRID (Spatial Reference ID (EPSG code))\n */\n srid?: number;\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,22 @@
1
+ import { PrimaryGeneratedColumnType } from "../../driver/types/ColumnTypes";
2
+ /**
3
+ * Describes all options for PrimaryGeneratedColumn decorator with identity generation strategy.
4
+ */
5
+ export interface PrimaryGeneratedColumnIdentityOptions {
6
+ /**
7
+ * Column type. Must be one of the value from the ColumnTypes class.
8
+ */
9
+ type?: PrimaryGeneratedColumnType;
10
+ /**
11
+ * Column name in the database.
12
+ */
13
+ name?: string;
14
+ /**
15
+ * Column comment. Not supported by all database types.
16
+ */
17
+ comment?: string;
18
+ /**
19
+ * Identity column type. Supports only in Postgres 10+.
20
+ */
21
+ generatedIdentity?: "ALWAYS" | "BY DEFAULT";
22
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=PrimaryGeneratedColumnIdentityOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../browser/src/decorator/options/PrimaryGeneratedColumnIdentityOptions.ts"],"names":[],"mappings":"","file":"PrimaryGeneratedColumnIdentityOptions.js","sourcesContent":["import {PrimaryGeneratedColumnType} from \"../../driver/types/ColumnTypes\";\n\n/**\n * Describes all options for PrimaryGeneratedColumn decorator with identity generation strategy.\n */\nexport interface PrimaryGeneratedColumnIdentityOptions {\n\n /**\n * Column type. Must be one of the value from the ColumnTypes class.\n */\n type?: PrimaryGeneratedColumnType;\n\n /**\n * Column name in the database.\n */\n name?: string;\n\n /**\n * Column comment. Not supported by all database types.\n */\n comment?: string;\n\n /**\n * Identity column type. Supports only in Postgres 10+.\n */\n generatedIdentity?: \"ALWAYS\"|\"BY DEFAULT\";\n}\n"],"sourceRoot":"../.."}
@@ -2683,6 +2683,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2683
2683
  if (dbColumn.is_identity === "YES") { // Postgres 10+ Identity column
2684
2684
  tableColumn.isGenerated = true;
2685
2685
  tableColumn.generationStrategy = "identity";
2686
+ tableColumn.generatedIdentity = dbColumn.identity_generation;
2686
2687
  }
2687
2688
  else if (dbColumn["column_default"] !== null && dbColumn["column_default"] !== undefined) {
2688
2689
  serialDefaultName = "nextval('" + this.buildSequenceName(table, dbColumn["column_name"]) + "'::regclass)";
@@ -3241,7 +3242,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3241
3242
  var c = "\"" + column.name + "\"";
3242
3243
  if (column.isGenerated === true && column.generationStrategy !== "uuid") {
3243
3244
  if (column.generationStrategy === "identity") { // Postgres 10+ Identity generated column
3244
- c += " " + column.type + " GENERATED BY DEFAULT AS IDENTITY";
3245
+ var generatedIdentityOrDefault = column.generatedIdentity || "BY DEFAULT";
3246
+ c += " " + column.type + " GENERATED " + generatedIdentityOrDefault + " AS IDENTITY";
3245
3247
  }
3246
3248
  else { // classic SERIAL primary column
3247
3249
  if (column.type === "integer" || column.type === "int" || column.type === "int4")