High Priority Missing Features
- Generated/Computed Columns (MySQL)
- PostgreSQL has IDENTITY columns, but MySQL's GENERATED/VIRTUAL columns are not supported
- These are increasingly common for denormalization and JSON extraction
- Example: price DECIMAL(10,2), tax DECIMAL(10,2), total DECIMAL(10,2) AS (price + tax) STORED
- Views
- Sequences (PostgreSQL)
- While auto-increment is supported, explicit sequence management is not
- Useful for PostgreSQL when you need custom sequences or shared sequences across tables
- Table Partitioning
- No support for PARTITION BY (RANGE, LIST, HASH)
- Increasingly important for large datasets
- MySQL 8.0+ and PostgreSQL both support this
- Spatial Indexes
- Geometry/Point/Linestring types are supported, but SPATIAL indexes are not
- Would complete the geospatial feature set
Medium Priority Missing Features
- Database-level Operations
- User/Role management (CREATE USER, GRANT/REVOKE)
- While often handled outside migrations, could be useful for test environments
- Triggers
- Check Constraint Naming
- CHECK constraints are supported but may lack explicit naming control
- Important for dropping/modifying specific constraints later
- Column Compression (MySQL 8.0.30+)
- COLUMN_FORMAT COMPRESSED for InnoDB
- Useful for large TEXT/BLOB columns
- Index Visibility (MySQL 8.0+)
- ALTER INDEX ... INVISIBLE/VISIBLE
- Useful for testing index performance impact without dropping
Low Priority (But Potentially Useful)
DEFAULT CURRENT_TIMESTAMP for more column types
- Currently supported for timestamps, could expand to DATE/TIME
What do people think? Which ones are relevant and we should look into in the future, which ones should be forget about?
High Priority Missing Features
=> Add support for database views and triggers #957
Medium Priority Missing Features
=> Add support for database views and triggers #957
Low Priority (But Potentially Useful)
DEFAULT CURRENT_TIMESTAMP for more column types
What do people think? Which ones are relevant and we should look into in the future, which ones should be forget about?