-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
devel: bump db version using date from filename (we dont need repeata… #2313
base: master
Are you sure you want to change the base?
Conversation
4d6a912
to
89bc4a9
Compare
6159c62
to
7533534
Compare
…ble work to be done in upgradedb.php), also use transactions for all upgrade scripts
7533534
to
110a563
Compare
Myślałem o tym trochę jako o całościowym rozwiązaniu - nie wiem czy nie mamy gdzieś celowo w aktualizacjach schematu bazy danych zapytań SQL wyniesionych przez BeginTrans(), bo z jakiegoś powodu w ramach transakcji mogłyby powodować wywałkę (tak bywa, gdy najpierw pobierasz dane z tabeli, którą zaraz potem modyfikujesz w sensie schematu). Wypadałoby chyba wyposażyć uproszczony mechanizm aktualizacji w coś takiego jako rozwiązanie opcjonalne? Testowałeś aktualizację schematu już nową metodą od najwcześniejszej wersji schematu dostępnej w lib/upgradedb? |
Testowałem to na pustej bazie. Jeśli masz takie podejrzenia to wrzucę najstarszą archiwalną zanonimizowaną bazę jaką mam (gdzieś z około ~2010 roku) i puszczę update i dam znać. |
Wrzuć schemat z 2004 roku i sprawdź - w tej wersji sprzed pierwszego dostępnej aktualizacji schematu. Proszę o test na pgsql i mysql. |
Wytestowałem to tak:
Zrobiłem test od 2005 roku dla psql i o dziwo tylko jeden błąd - naprawiłem go https://github.com/interduo/lms/pull/new/db-fix-upg2. Jest sens testować tak starą ścieżkę?
MySQL testuje właśnie.. |
Dla pewności proponuję zrobić: git checkout stable i na bieżącej wersji stable robić test podniesienia schematu. |
Postgresa testuje tak:
DB schema version bumped from 2005123000 to 2021072921 - test postgresql na zielono |
MySQL testuje tak:
Tutaj jest kilka błędów SQL ale nie wynika to z PR - tylko z kodu zapytań albo z tego że używam mariadb. sed -i 's/DROP accountid/DROP IF EXISTS accountid/g' lib/upgradedb/mysql.2008021500.php
a potem już czysto. Te problemy występują również bez tego PR. Dodałem jeszcze pokazywanie wersji z której dokonujemy aktualizacje na output czasami przydatne. |
…s into db_version_bump_improvements
…ble work to be done in upgradedb.php), also use transactions for all upgrade scripts