problem przy aktualizacji INSERT wartości z ułamkiem 0,5 /0.5

Pomoc przy instalacji oraz użytkowaniu phpBB 3.3.x. Forum nie służy do zgłaszania znalezionych błędów, innowacji lub problemów związanych ze stylami i rozszerzeniami.
yavien
Posty: 10
Rejestracja: 27 stycznia 2018, 16:15

problem przy aktualizacji INSERT wartości z ułamkiem 0,5 /0.5

Post autor: yavien » 20 maja 2021, 09:00

Aktualizuję forum z 3.2.x do 3.3. Przy update bazy mam błąd:

Kod: Zaznacz cały

General Error:SQL ERROR [ mysqli ]Column count doesn't match value count at row 1 [1136]SQLINSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('recaptcha_v3_threshold_register', 0,5, 0) in file /home/yavien/ftp/forum/phpbb/db/driver/driver.php on line 1023
Problemem jest to, że ma być wstawiona wartość "0,5", ale nie jest w ciapkach '', więc VALUES ('recaptcha_v3_threshold_register', 0,5, 0) interpretowane jest jako próba wstawienia czterech wartości do trzech kolumn.
Znalazłam że te wartości siedzą w ./install/schemas/schema_data.sql, zmieniłam na 1:

Kod: Zaznacz cały

yavien@yavien:~/forum$ grep '0.5' ./install/schemas/schema_data.sql.bak
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_default', '0.5');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_login', '0.5');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_post', '0.5');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_register', '0.5');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_report', '0.5');
yavien@yavien:~/forum$ grep recaptcha_v3 ./install/schemas/schema_data.sql|grep 1
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_default', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_login', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_post', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_register', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('recaptcha_v3_threshold_report', '1');
yavien@yavien:~/forum$
Ale nadal przy uruchomieniu update mam ten błąd, jakby skrypt nie zauważył zmiany, dlaczego?
Dziękuję za pomoc,
Magdalena

yavien
Posty: 10
Rejestracja: 27 stycznia 2018, 16:15

Re: problem przy aktualizacji INSERT wartości z ułamkiem 0,5 /0.5

Post autor: yavien » 20 maja 2021, 11:15

Problem obeszłam wstawiając wartości do bazy ręcznie i uruchamiając znów aktualizację - te inserty zostały pominięte i wykonało się wszystko do końca.
Ale nadal ciekawi mnie, co trzymało w pamięci poprzednie wartości i jak taki problem w przyszłości rozwiązać po aktualizacji wartości w plikach?
Dziękuję za pomoc,
Magdalena

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: problem przy aktualizacji INSERT wartości z ułamkiem 0,5 /0.5

Post autor: vader » 17 czerwca 2021, 18:27

yavien pisze:
20 maja 2021, 11:15
Problem obeszłam wstawiając wartości do bazy ręcznie i uruchamiając znów aktualizację - te inserty zostały pominięte i wykonało się wszystko do końca.
Ale nadal ciekawi mnie, co trzymało w pamięci poprzednie wartości i jak taki problem w przyszłości rozwiązać po aktualizacji wartości w plikach?
Miałem chwilę temu ten sam problem na innym forum, podczas aktualizacji z phpBB 3.2.8 do 3.3.4. Błąd był dokładnie taki sam, w tym że wysypała się migracja na pliku

Kod: Zaznacz cały

.\phpbb\db\migration\data\v33x\google_recaptcha_v3.php
Sprawdziłem, że ten plik ma fragment
foreach (\phpbb\captcha\plugins\recaptcha_v3::get_actions() as $action)
{
$data[] = ['config.add', ["recaptcha_v3_threshold_{$action}", 0.5]];
}
Po zmianie, wartości 0.5 na 1, aktualizacja bazy danych przeszła pomyślnie do końca.

Natomiast co do cache podczas aktualizacji. To problematyczne są pliki / katalogi:
W /cache: usunąć katalogi production oraz installer <- zazwyczaj to wystarczy usunąć
W /store: usunąć pliki install_config.php, oraz io_lock.lock.

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: problem przy aktualizacji INSERT wartości z ułamkiem 0,5 /0.5

Post autor: vader » 25 października 2021, 08:16

yavien pisze:
20 maja 2021, 11:15
Problem obeszłam wstawiając wartości do bazy ręcznie i uruchamiając znów aktualizację - te inserty zostały pominięte i wykonało się wszystko do końca.
Ale nadal ciekawi mnie, co trzymało w pamięci poprzednie wartości i jak taki problem w przyszłości rozwiązać po aktualizacji wartości w plikach?
To jeszcze informacyjnie, problem został rozwiązany w aktualizacji phpBB 3.3.5 > https://github.com/phpbb/phpbb/pull/6288

ODPOWIEDZ

Wróć do „Użytkowanie”