-
Notifications
You must be signed in to change notification settings - Fork 400
Open
Milestone
Description
There's a closed report here: #1031
Though I'm sure that please remove size is not a good solution, since not every person can find this thread and learn that some sizes are default and due to a specific behavior of the compare tool, migrations are produced.
To raise a degree of the issue, we faced a complete downtime of the system, when the migration:
ALTER TABLE
productCHANGEcustom_idcustom_idINTEGER;
since the table contains 100 M lines.
Other cases, causing permanent migration, please see table definition (all in one)
<table name="brand_slug" idMethod="native" allowPkInsert="true">
<column name="id_brand_slug" type="INTEGER" primaryKey="true" autoIncrement="true"/>
<column name="slug" type="LONGVARCHAR" required="true"/>
<column name="price" type="INTEGER" size="11" required="true"/>
<column name="created_at" type="TIMESTAMP" size="6" required="true"/>
<index name="index-brand_slug-slug">
<index-column name="slug"/>
</index>
</table>
Please copy schema, generate diff and apply changes to the DB.
Then just generate diff again.
I'm getting:
DROP INDEX `index-brand_slug-slug` ON `brand_slug`;
ALTER TABLE `brand_slug`
CHANGE `created_at` `created_at` TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE `price` `price` INTEGER(11) NOT NULL;
CREATE INDEX `index-brand_slug-slug` ON `brand_slug` (`slug`);
My ideas of the way how to fix this:
- fail generation of the diff/schema - if the size is wrongly specified.
- ignore wrongly specified sizes.
kathamckeon, sprymiker and mtsteinbrenner
Metadata
Metadata
Assignees
Labels
No labels