feat(mysql)!: remove deprecated MySQL integer display width and zerofill support#12084
feat(mysql)!: remove deprecated MySQL integer display width and zerofill support#12084
Conversation
Review Summary by QodoRemove deprecated MySQL integer display width and zerofill support
WalkthroughsDescription• Remove deprecated width and zerofill column options from all interfaces and implementations • Delete width/zerofill handling from MySQL, Aurora-MySQL, and CockroachDB drivers • Remove width entries from dataTypeDefaults for MySQL integer types • Delete tests and test entities specific to width/zerofill functionality • Add migration guide documenting the removal and recommended alternatives Diagramflowchart LR
A["Column Option Interfaces"] -->|Remove width/zerofill| B["ColumnOptions, ColumnNumericOptions, etc."]
C["Driver Implementations"] -->|Remove width/zerofill handling| D["MySQL, Aurora-MySQL, CockroachDB"]
E["Metadata & Schema"] -->|Remove width/zerofill properties| F["ColumnMetadata, TableColumn"]
G["Tests & Entities"] -->|Delete deprecated tests| H["column-width, issue-438, issue-6442"]
I["Documentation"] -->|Add migration guide| J["Migration v1 guide"]
File Changes1. src/decorator/options/ColumnNumericOptions.ts
|
commit: |
Deploying typeorm with
|
| Latest commit: |
b85bfdd
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0b7a8e81.typeorm.pages.dev |
| Branch Preview URL: | https://remove-width-zerofill.typeorm.pages.dev |
Code Review by Qodo
1. Docs miss UNSIGNED implication
|
|
Hmm, I believe |
|
I merged this first since it has more files changed, hope it's fine :) Later edit: probably should've waited until |
Remove the
widthandzerofillcolumn options that were deprecated in MySQL 8.0.17and removed in MySQL 8.4. These options only applied to MySQL/MariaDB/Aurora-MySQL
integer types and controlled display formatting, not storage.
Fixes #12076
Changes:
widthandzerofillfrom all column option interfaces, metadata, and schema builder typescreateFullType()that referencedcolumn.width(unreachable since Spanner's INT64 has no display width concept and the driver never populated this field)
dataTypeDefaultswidth entries for MySQL integer types@alumni Should we also remove
unsignedColumnTypesfromMysqlDriverandAuroraMysqlDriver? After removing zerofill, it's no longer referenced anywhere in the codebase.