W dniu 12.03.2016 16:12, Sebastian Szczepański napisał(a):
Witam
Witam,
Jak co roku przed inwentaryzacją UKE przechodzę na aktualnego LMSa, jednak w tym roku chcę to zrobić produkcyjnie, więc nie chcę niczego pominąć przy migracji. Lecę tak: produkcyjny>LMS_011114>LMS_011115>LMS_011116>LMS_011117>LMS_011118>LMS_011119
przy aktualizacji z 14 do 15 mam masę błędów przy aktualizacji bazy danych (mysql), wszystkie z tego co widzę dotyczą tego, że LMS chce ustawić wartość deafult dla rekordu typu TEXT, co według mojej DB jest błędne
przykład mysql.2007053100.php CREATE TABLE templates ( id int(11) NOT NULL auto_increment, type tinyint NOT NULL, name varchar(50) NOT NULL, message text DEFAULT "" NOT NULL, PRIMARY KEY (id), UNIQUE KEY name (type, name) ) ENGINE=InnoDB;
Error Code: 1101. BLOB/TEXT column 'message' can't have a default value
Jeśli zmienię na "message text NOT NULL" jest ok, pytanie czy mogę coś zmienić w konfiguracji MySQL czy muszę ręcznie orać wszystkie zmiany
P.S. Skoro nie udaje się wykonać aktualizacji bazy, dlaczego skrypt zmienia nr wersji DB? To nie logiczne..
Potwierdzam - to nie logiczne, a konkretnie obsługa transakcyjności w MySQL/MariaDB. Zauważ, że wszystkie aktualizacje schematu bazy danych MySQL są poprzedzone poleceniem: BEGIN; a zakończone poleceniem: COMMIT;
Dlaczego MySQL mimo błędnego wykonania wcześniejszych zapytań sql w traksancji mimo tego wykonuje późniejsze zapytanie sql?
pozdr./seba