Problem po aktualizacji lokalnego serwera (docker)

oli
Posts: 5
Joined: Fri Feb 10, 2023 9:44 pm

Post

Witam,
Jak zawsze:
Upgrading to the newest version
cd supla-docker
git pull
./supla.sh upgrade

Po aktualizacji container [supla-cloud] nie potrafi startować.
Restart maszyny nie pomaga :-(


2023-02-10 22:26:33 Migrating up to 20221219113615 from 20221020225729
2023-02-10 22:26:33
2023-02-10 22:26:33 ++ migrating 20221124222346
2023-02-10 22:26:33
2023-02-10 22:26:33 -> ALTER TABLE supla_oauth_access_tokens ADD issued_with_refresh_token_id INT DEFAULT NULL
2023-02-10 22:26:33 Migration 20221124222346 failed during Execution. Error An exception occurred while executing 'ALTER TABLE supla_oauth_access_tokens ADD issued_with_refresh_token_id INT DEFAULT NULL':
2023-02-10 22:26:33
2023-02-10 22:26:33 SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'issued_with_refresh_token_id'
2023-02-10 22:27:06 Database connection has been established.
2023-02-10 22:27:06
2023-02-10 22:27:06 Application Migrations
2023-02-10 22:27:06
2023-02-10 22:27:06
2023-02-10 22:27:06 Migrating up to 20221219113615 from 20221020225729
2023-02-10 22:27:06
2023-02-10 22:27:06 ++ migrating 20221124222346
2023-02-10 22:27:06
2023-02-10 22:27:06 -> ALTER TABLE supla_oauth_access_tokens ADD issued_with_refresh_token_id INT DEFAULT NULL
2023-02-10 22:27:06 Migration 20221124222346 failed during Execution. Error An exception occurred while executing 'ALTER TABLE supla_oauth_access_tokens ADD issued_with_refresh_token_id INT DEFAULT NULL':
2023-02-10 22:27:06
2023-02-10 22:27:06 SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'issued_with_refresh_token_id'
2023-02-10 22:27:06
2023-02-10 22:27:06
2023-02-10 22:27:06 In Exception.php line 18:
2023-02-10 22:27:06
2023-02-10 22:27:06 SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'issued_
2023-02-10 22:27:06 with_refresh_token_id'
2023-02-10 22:27:06
2023-02-10 22:27:06
2023-02-10 22:27:06 In PDOConnection.php line 141:
2023-02-10 22:27:06
2023-02-10 22:27:06 SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'issued_
2023-02-10 22:27:06 with_refresh_token_id'
2023-02-10 22:27:06
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Wygląda tak jakbyś wcześniej ręcznie modyfikował bazę. Albo coś się w trakcie migracji wysypało co nie było objęte transakcją i próbujesz drugi raz aktualizować.
SUPLA.... Nareszcie w domu.
oli
Posts: 5
Joined: Fri Feb 10, 2023 9:44 pm

Post

WItam,
Dziękuję za szybką odpowiedź.
Niestety bez zmian.
Co 10-15 sek. [supla-cloud] restartuje sam.
Status "Running" się zmieni na "Restarting (255)".
oli
Posts: 5
Joined: Fri Feb 10, 2023 9:44 pm

Post

Docker version 20.10.22, build 3a2c30b (MacOS)
CLOUD_VERSION=22.12
mysql:5.7.20

Jak można przywrócić dane z kopii zapasowej ?
oli
Posts: 5
Joined: Fri Feb 10, 2023 9:44 pm

Post

Witam,
Niestety nie potrafiłem poprawić uszkodzoną db.
Uruchomiłem serwer z starym backupem, straciłem pewne dane, ale najmniej teraz działa poprawnie.
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

oli wrote: Sat Feb 11, 2023 1:34 am Docker version 20.10.22, build 3a2c30b (MacOS)
CLOUD_VERSION=22.12
mysql:5.7.20

Jak można przywrócić dane z kopii zapasowej ?
Zapoznałeś się z tym tematem?? viewtopic.php?t=3078

Przed aktualizacją skrypt supla.sh zawsze robi backup do lokalizacji ~/supla-docker/var/backups i pakuje go gzipem do archiwum .gz, wystarczy odwrócić ten proces.

Dekompresje archiwum z bazą robisz w katalogu gdzie masz plik ~/supla-docker/var/backups
Nazwę supla.gz i supla.sql dostosuj do tego co masz u siebie

Code: Select all

gzip -dk supla.gz
Ładujesz zmienne z .env

Code: Select all

source ~/supla-docker/.env
Potem wykonujesz usunięcie istniejącej i odtworzenie bazy z backapu,

Code: Select all

docker exec -u www-data supla-cloud php bin/console doctrine:database:drop --force
docker exec -u www-data supla-cloud php bin/console doctrine:database:create
cat supla.sql | docker exec -i supla-db mysql -u root --password=$DB_PASSWORD supla
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
oli
Posts: 5
Joined: Fri Feb 10, 2023 9:44 pm

Post

Witam,
Tak zrobiłem ale widocznie baza już była uszkodzona przed ostatnim backupem.
Chyba nie wykonałem "git pull" i od razu "./supla.sh upgrade".
Czy to możliwe że baza się uszkodziła z tego powodu?
Uruchomiłem system z backupem z 2022 zgodnie z procedurą.
Pzdr
Olivier

Return to “Ogólna dyskusja”