Приветствую !!!
отличный у вас схем компаррер, по моим исследованиям ЛУЧШИЙ.
Просьба оптимизируйте результирующий sql для синхронизации, касательно порядка полей .
Мастер
CREATE TABLE table1 (
field1 INT(11) DEFAULT NULL,
field2 INT(11) DEFAULT NULL,
field3 INT(11) DEFAULT NULL
);
Таргет
CREATE TABLE table1 (
field3 INT(11) DEFAULT NULL,
field1 INT(11) DEFAULT NULL,
field2 INT(11) DEFAULT NULL
);
В результате
ALTER TABLE table1
CHANGE COLUMN field1 field1 INT(11) DEFAULT NULL FIRST,
CHANGE COLUMN field2 field2 INT(11) DEFAULT NULL AFTER field1,
CHANGE COLUMN field3 field3 INT(11) DEFAULT NULL AFTER field2;
А ведь гораздо проще так
ALTER TABLE table1
CHANGE COLUMN field3 field3 INT(11) DEFAULT NULL AFTER field2;
Пожелание: В компарире схем оптимизировать результ. SQL
Дело в том, что такое поведение необходимо в случае работы с некоторыми collation в MySQL. При изменении свойств одной из колонок необходимо указать изменения в других колонках в ALTER тексте, чтобы MySQL правильно их обработал.
Поэтому мы специально, во избежания ошибок, посылаем именно такие запросы. Т.к. это общее поведение и заранее неизвестно как отреагирует MySQL (причем в разных версиях он реагирует по-разному), к сожалению, Вашу просьбу мы выполнить не сможем.
Поэтому мы специально, во избежания ошибок, посылаем именно такие запросы. Т.к. это общее поведение и заранее неизвестно как отреагирует MySQL (причем в разных версиях он реагирует по-разному), к сожалению, Вашу просьбу мы выполнить не сможем.
Не могли бы вы чуть подробнее рассказать про эти некоторые collation или дать ссылочку почитать где. Очень интересно.
Может быть возможно опциональная реализация ?
к примеру по молчанию "полный" вид, а птичку поставил сокращенный
ведь:
1 - "полные" alter table выполняются гораздо медленнее
2 - гораздо труднее осмысливать, результирующий sql
как вы думаете я багу с TIMESTAMP NULL заметил?
именно когда всё лишнее убрал из ALTER, 2 строчки когда проще же обдумать чем 15.
PS
collation как я понимаю это операции сравнения завязанные на кодировку?
Может быть возможно опциональная реализация ?
к примеру по молчанию "полный" вид, а птичку поставил сокращенный
ведь:
1 - "полные" alter table выполняются гораздо медленнее
2 - гораздо труднее осмысливать, результирующий sql
как вы думаете я багу с TIMESTAMP NULL заметил?
именно когда всё лишнее убрал из ALTER, 2 строчки когда проще же обдумать чем 15.
PS
collation как я понимаю это операции сравнения завязанные на кодировку?
Collation фактически определяет кодировку, в которой хранятся строковые данные (так как collation завязан с определенным charset'ом), плюс он определяет порядок сортировки этих данных при выборке.
Оптимизация запросов под более читабельный вид, во-первых, технически сложная задача, а во-вторых, может привести к тому, что в MySQL некоторые запросы перестанут выполнятся.
Оптимизация запросов под более читабельный вид, во-первых, технически сложная задача, а во-вторых, может привести к тому, что в MySQL некоторые запросы перестанут выполнятся.