ERDism beta

SQL import keeps more of what your database has

ImprovedFixed
Latest
  • Foreign keys without a name keep the server's name. A foreign key written without CONSTRAINT name now gets the name your database would give it, such as orders_ibfk_1, and its index keeps the column's name. Before, ERDism made up a name like fk_orders_customers_….
  • Blocked imports name the statement that blocked them. When a file can't be imported, the message now points at the statement that stopped it, such as TRUNCATE TABLE …, instead of an unrelated table.
  • Queries in a dump no longer block the import. SELECT, SHOW, DESCRIBE, EXPLAIN and HELP statements are skipped and listed with the other skipped statements.
  • CHECK … NOT ENFORCED is kept. These checks used to be rejected. They now come in as written, and publishing to a target that doesn't support them is rejected with a reason.
  • INVISIBLE and ZEROFILL columns keep their attribute. Both used to disappear from the generated SQL. In a MySQL 8.0 project, the SQL editor warns that ZEROFILL is deprecated.
  • MariaDB keeps your column CHECK names. A CHECK written on a column stays on that column, so MariaDB names it after the column instead of CONSTRAINT_1.
  • TIMESTAMP columns get the right NULL rule. In MySQL 5.7 and older MariaDB projects, a TIMESTAMP column with no NULL or NOT NULL now comes in as NOT NULL, the way those servers create it.
  • Zero-date defaults run on strict servers. When a column defaults to a date such as '0000-00-00', the generated SQL relaxes SQL_MODE around the tables that need it and restores it afterwards.
  • Views keep their version comments. Views from a mysqldump file keep their /*!50001 … */ comments.
  • Downloaded SQL says what was checked. The header line of a downloaded DDL file now reads design-checked … design issues instead of verified. ERDism checks your design; it doesn't run the SQL on a database server.
All release notes