Skip to content
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

Aktualizacja z 1.11.13 do 1.11.25 - nie działa #1763

Closed
batot1 opened this issue Sep 1, 2020 · 55 comments
Closed

Aktualizacja z 1.11.13 do 1.11.25 - nie działa #1763

batot1 opened this issue Sep 1, 2020 · 55 comments

Comments

@batot1
Copy link

batot1 commented Sep 1, 2020

Wstępna weryfikacja
Zanim zgłosisz błąd spróbuj najpierw go samodzielnie rozwiązać wspomagając się artykułem
z naszego wiki.
Nie ma takiej strony.

Opis błędu
Jasny i precyzyjny opis czym jest znaleziony błąd.
Po zainstalowaniu czyli przekopiowaniu do katatogu, odchaczeniu sterownika mysqli nie działa.
W logach /var/log/apache2/error.log widzę następujący błąd:
"PHP Fatal error: Uncaught TypeError: Argument 1 passed to ConfigLoader::parseRawConfig() must be of the type array, null given, called in /var/www/html/lib/LMSConfig/ConfigLoader.php on line 49 and defined in /var/www/html/lib/LMSConfig/ConfigLoader.php:103\nStack trace:\n#0 /var/www/html/lib/LMSConfig/ConfigLoader.php(49): ConfigLoader->parseRawConfig(NULL, Array)\n#1 /var/www/html/lib/LMSConfig/LMSConfig.php(98): ConfigLoader->loadConfig(Array)\n#2 /var/www/html/lib/LMSConfig/LMSConfig.php(193): LMSConfig::getUiConfig(Array)\n#3 /var/www/html/lib/LMSConfig/LMSConfig.php(148): LMSConfig::mergeConfigs(Array)\n#4 /var/www/html/lib/LMSConfig/ConfigHelper.php(81): LMSConfig::getConfig()\n#5 /var/www/html/index.php(136): ConfigHelper::checkConfig('phpui.force_ssl')\n#6 {main}\n thrown in /var/www/html/lib/LMSConfig/ConfigLoader.php on line 103"

Powtarzalność 100% za każdym razem dwa razy sprawdzałem.

Odtworzenie problemu
Kroki odtwarzające błędne zachowanie:

  1. Dowolna wersja działająca 1.11.13 w systemie debian 9.13 (zaktualizowany)
    2a. skasuj zawartość /var/www/html
    2b. rozpakuj LMS-25
  2. przekopiuj zawartosc katalogu LMS-25 do /var/www/html
  3. wejdź na stronę LMS
  4. Poprosi o instalowanie composera
  5. zainstaluj "composer install"
  6. wejdź na stronę LMS
  7. prosi o zmiany uprawnień do plików: "chown -R 33:33 /var/www/html/templates_c (...)
  8. Wchodzę do katalogu /var/www/html
  9. Wykonuję to o co prosił z uprawnieniami pozwalającycmi to wykonać.
  10. wejdz na stronę LMS
  11. widzę pustą stronę i bład w logach w/w za kązdym razem.

Oczekiwane zachowanie
Jasny i precyzyjny opis tego czego oczekujesz by miało miejsce.
Tylko aby działał LMS w przeglądarce ;)

Środowisko - prosimy o uzupełnienie następującej informacji:

  • system operacyjny, np. Debian 9.13 aktualny update
  • przeglądarka www, np. Firefox 80
  • php 7.0+49
  • baza lms działa bo ręcznie mogę się do niej zalogować i wyświetlić pozycje

cat /etc/debian_version

9.13

  • MariaDB 10.1.45 database server
@batot1 batot1 changed the title Aktualizacja z 1.11.13 do 1.11.25 Aktualizacja z 1.11.13 do 1.11.25 - nie działa Sep 1, 2020
@batot1
Copy link
Author

batot1 commented Sep 2, 2020

To nie jest wina po mojej stronie na 100% bo wersja
lmsgit-26 ściągnięta z git clone https://github.com/lmsgit/lms.git działa na tej samej maszynie.
Sprawdzałem nawet zamianę katalogów (co by wykluczyć ew kwestie ścieżek dostępu) ale to samo.
Wypuściliście uszkodzoną wersję LMS-25.

@interduo
Copy link
Collaborator

interduo commented Sep 2, 2020

Czy aktualizowałeś bazę za pomocą skryptu devel/upgrade.db ?
Czy były jakieś błędy podczas aktualizacji?

Wypuściliście uszkodzoną wersję LMS-25.

SOA#1

@chilek
Copy link
Owner

chilek commented Sep 2, 2020

To nie jest wina po mojej stronie na 100% bo wersja

Ależ jest - używasz najbardziej problematycznej kombinacji środowiska systemowego jaką da się wymyślić dla LMS.
Polecam przesiadkę na CentOS 8 x86_64 + PostgreSQL. Zapomnisz o problemach z aktualizacjami aplikacji LMS.

Wypuściliście uszkodzoną wersję LMS-25.

Każda publicznie dostępna wersja LMS w tym 25.0 to chwilowy zrzut z codzinnego developingu LMS. LMS publicznie dostępny nigdy nie posiada wydań mocno ustablizowanych. Polecam migrację do LMS+ - tam masz dla wydania publicznego 25.0 już wydane 25.8 (jako ósma aktualizacja linii wydań 25.x). Wkrótce wyjdzie 25.9.

@chilek
Copy link
Owner

chilek commented Sep 2, 2020

No i podstawa - poprawki do publicznej edycji 25.0 masz po prostu robione w ramach codziennego developingu LMS, wiec większość błędów w bieżącym stanie LMS 26-git jest już poprawionych.

@batot1
Copy link
Author

batot1 commented Sep 2, 2020

Mnie 26-git zadawala jak najbardziej skoro udało mi się dojść do okienka kiedy pluje na stronie WWW się o niespójność bazy
"Napotkano błędy w bazie danych!

Zapytanie: CREATE VIEW customerview AS SELECT c., a1.country_id as countryid, a1.zip as zip, a1.city as city, a1.street as street,a1.house as building, a1.flat as apartment, a2.country_id as post_countryid, a2.zip as post_zip, a2.city as post_city, a2.street as post_street, a2.name as post_name, a2.house as post_building, a2.flat as post_apartment, a1.address as address, a1.location AS location, a2.address as post_address, a2.location AS post_location FROM customers c JOIN customer_addresses ca1 ON c.id = ca1.customer_id AND ca1.type = 1 LEFT JOIN vaddresses a1 ON ca1.address_id = a1.id LEFT JOIN customer_addresses ca2 ON c.id = ca2.customer_id AND ca2.type = 0 LEFT JOIN vaddresses a2 ON ca2.address_id = a2.id WHERE NOT EXISTS ( SELECT 1 FROM customerassignments a JOIN excludedgroups e ON (a.customergroupid = e.customergroupid) WHERE e.userid = lms_current_user() AND a.customerid = c.id) AND c.type < 2
Błąd: Cannot load from mysql.proc. The table is probably corrupted
Zapytanie: CREATE VIEW vnetworks AS SELECT h.name AS hostname, ne.
, no.ownerid, a.city_id as location_city, a.street_id as location_street, a.house as location_house, a.flat as location_flat, no.chkmac, CONCAT(inet_ntoa(ne.address), '/', mask2prefix(inet_aton(ne.mask))) AS ip, no.id AS nodeid, a.location FROM nodes no LEFT JOIN networks ne ON (ne.id = no.netid) LEFT JOIN hosts h ON (h.id = ne.hostid) LEFT JOIN vaddresses a ON no.address_id = a.id WHERE no.ipaddr = 0 AND no.ipaddr_pub = 0
Błąd: Cannot load from mysql.proc. The table is probably corrupted
Zapytanie: SELECT section, var, value, description FROM uiconfig WHERE disabled = 0 AND userid is null
Błąd: Unknown column 'userid' in 'where clause'
Zapytanie: SELECT id, name, passwd, hosts, lastlogindate, lastloginip, passwdforcechange, passwdexpiration, passwdlastchange, access, accessfrom, accessto, twofactorauth, twofactorauthsecretkey FROM vusers WHERE login='bartosz' AND deleted=0
Błąd: Unknown column 'passwdforcechange' in 'field list'"
Powiedzmy ja sobie poradzę za pomocą przyjaciela od PHP i MYSQL który skroi tą stara bazę na wymiar czyli działa chyba.
Wiele ludzi ściągnie LMS-25 i się zdziwi mocno.

Epilog:
Dawniej ściagało się LMS i działał, ściagało się nowszy i aktualizował się "sam".
Teraz albo nie działa albo trzeba programisty zaawansowanego do aktualizacji/uruchomienia.
Czy to oby na pewno właściwa droga kierunku kiedy bez programisty PHP/MYSQL/etc nie można odpalić LMS'a?

@batot1
Copy link
Author

batot1 commented Sep 2, 2020

Czy aktualizowałeś bazę za pomocą skryptu devel/upgrade.db ?

Sposób aktualizacji opisałem dość szczegółowo w krokach 1-11 czyli odpowiadając na pytanie NIE używałem skryptu devel/upgrade.db.
Jest gdzieś jakiś opis jak go używać?

Czy były jakieś błędy podczas aktualizacji?

Nie, na wersji git-26 jedynie podczas odpalania composera na czerwono 5 linii wypluwa ale nie kończy się błędem. Nie zapisałem tego komunikatu
Zainstalowałem po raz 3-ci composer install tak to wygląda:
(...)

 - Installing squizlabs/php_codesniffer (3.5.6)
    Loading from cache

phpmailer/phpmailer suggests installing psr/log (For optional PSR-3 debug logging)
phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Google XOAUTH2 authentication)
phpmailer/phpmailer suggests installing hayageek/oauth2-yahoo (Needed for Yahoo XOAUTH2 authentication)
phpmailer/phpmailer suggests installing stevenmaguire/oauth2-microsoft (Needed for Microsoft XOAUTH2 authentication)
phpmailer/phpmailer suggests installing symfony/polyfill-mbstring (To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2))
spipu/html2pdf suggests installing fagundes/zff-html2pdf (zff-html2pdf module ~0.1.1, if you need to integrate HTML2PDF with Zend Framework 2 (zf2))
setasign/fpdi suggests installing setasign/fpdf (FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured.)
pear/mail suggests installing pear/net_smtp (Install optionally via your project's composer.json)
html2text/html2text suggests installing symfony/polyfill-mbstring (If you can't install ext-mbstring)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
sebastian/global-state suggests installing ext-uopz (*)
symfony/yaml suggests installing symfony/console (For validating YAML files using the lint command)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Package phine/exception is abandoned, you should avoid using it. No replacement was suggested.
Package phine/observer is abandoned, you should avoid using it. No replacement was suggested.
Package setasign/fpdi-tcpdf is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
> sed -i -e 's/class HTML2PDF_myPdf extends TCPDF/class HTML2PDF_myPdf extends LMSTCPDF/' vendor/spipu/html2pdf/_class/myPdf.class.php
> sed -i -e 's/\(\s\+\)register_shutdown_function/\1\/\/register_shutdown_function/' vendor/tecnickcom/tcpdf/tcpdf.php
> cp -f lib/ezpdf/fonts/arial* vendor/rospdf/pdf-php/src/fonts
lms@lms:/var/www/html/lms$ 

Na wersji LMS-25 tak to wyglądało:
` - Installing squizlabs/php_codesniffer (3.5.6)
Loading from cache

phpmailer/phpmailer suggests installing psr/log (For optional PSR-3 debug logging)
phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Google XOAUTH2 authentication)
phpmailer/phpmailer suggests installing hayageek/oauth2-yahoo (Needed for Yahoo XOAUTH2 authentication)
phpmailer/phpmailer suggests installing stevenmaguire/oauth2-microsoft (Needed for Microsoft XOAUTH2 authentication)
phpmailer/phpmailer suggests installing symfony/polyfill-mbstring (To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2))
spipu/html2pdf suggests installing fagundes/zff-html2pdf (zff-html2pdf module ~0.1.1, if you need to integrate HTML2PDF with Zend Framework 2 (zf2))
setasign/fpdi suggests installing setasign/fpdf (FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured.)
pear/mail suggests installing pear/net_smtp (Install optionally via your project's composer.json)
html2text/html2text suggests installing symfony/polyfill-mbstring (If you can't install ext-mbstring)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
sebastian/global-state suggests installing ext-uopz (*)
symfony/yaml suggests installing symfony/console (For validating YAML files using the lint command)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Package phine/exception is abandoned, you should avoid using it. No replacement was suggested.
Package phine/observer is abandoned, you should avoid using it. No replacement was suggested.
Package setasign/fpdi-tcpdf is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files

sed -i -e 's/class HTML2PDF_myPdf extends TCPDF/class HTML2PDF_myPdf extends LMSTCPDF/' vendor/spipu/html2pdf/_class/myPdf.class.php
sed -i -e 's/(\s+)register_shutdown_function/\1//register_shutdown_function/' vendor/tecnickcom/tcpdf/tcpdf.php
cp -f lib/ezpdf/fonts/arial* vendor/rospdf/pdf-php/src/fonts
lms@lms:/var/www/html/lms$ `

@batot1

This comment has been minimized.

@interduo

This comment has been minimized.

@chilek
Copy link
Owner

chilek commented Sep 2, 2020

Przesiadka na Debiana bo miało być ponoć super skoro LMS jest pisany pod Debianem skąd więc propozycja Centos'a?

Jako, że to społeczne wsparcie napiszę wprost: nie pisz głupot. My jako developerzy LMS używamy praktycznie od zawsze CentOS lub Fedora.

@batot1
Copy link
Author

batot1 commented Sep 2, 2020

Odróżnij usługę komercyjną od doraźnej. Dawaj kontakt do tego programisty za 600zł/moduł z chęcią dam mu kilka zleceń. A potem programista hobbysta znika ... i supportu ni ma ;-)

LMS też już zniknął z aktualizacjami po 1.11.13 na kilka lat. Zawsze można inna osobę znaleźć.

Tak nawiasem mówiąc znajomy tak mocno zmienił "swojego" LMS'a, że mało co ma wspólnego z Waszą wersją. Ma paszportyzacje na wtyczce API z googla wyświetla cała sieć na mapie każde włókno, spliter etc... Własny pomysł, własne wykonanie.
Szkoda, że ludzie piszą czasami zaawansowane rzeczy pod LMS'em ale mało kto udostępnia.
Ma własny skrypt do migracji bazy który działa z każdej wersji do każdej wersji, nawet tych o strukturze innej niż domyślna LMS - ciekawa rzecz.
No i zawsze psioczy na ten kod i zawsze mówi, że można było to lepiej zrobić ale to pewnie każdy programista będzie narzekał na nie swój kod. a ja mówię że coś mi nie działa czy naprawi w LMSie po aktualizacjach zależności to mówi wole Ci napisać od zera dany moduł ;P
Dobra w takim razie czekam na wizytę eksperta od mysql aby zrobił porządek bazy 1.11.13 aby zaczęła gadać z git-26

@batot1

This comment has been minimized.

@interduo

This comment has been minimized.

@chilek

This comment has been minimized.

@batot1
Copy link
Author

batot1 commented Sep 2, 2020

Czy aktualizowałeś bazę za pomocą skryptu devel/upgrade.db ?
Czy były jakieś błędy podczas aktualizacji?

lms@lms:/var/www/html/lms-git26$ 
lms@lms:/var/www/html/lms-git26/devel$ ./upgradedb.php 
upgradedb.php
(C) 2001-2019 LMS Developers
Using file /etc/lms/lms.ini as config.
Composer autoload not found. Run 'composer install' command from LMS directory and try again. More informations at https://getcomposer.org/
lms@lms:/var/www/html/lms-git26/devel$ composer install
Composer could not find a composer.json file in /var/www/html/lms-git26/devel
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
lms@lms:/var/www/html/lms-git26/devel$ 

@interduo
Copy link
Collaborator

interduo commented Sep 2, 2020

Nie tak.
z głównego wydaj: php bin/upgradedb.php

@interduo

This comment has been minimized.

@chilek

This comment has been minimized.

@batot1

This comment has been minimized.

@interduo

This comment has been minimized.

@interduo

This comment has been minimized.

@hoktaur

This comment has been minimized.

@interduo

This comment has been minimized.

@batot1

This comment has been minimized.

@interduo

This comment has been minimized.

@batot1

This comment has been minimized.

@chilek

This comment has been minimized.

@batot1
Copy link
Author

batot1 commented Sep 4, 2020

ale to ślepa uliczka:

lms@lms:/var/www/html/lms-1-11-21$ php ./devel/upgradedb.php 
PHP Fatal error:  Uncaught Error: Using $this when not in object context in /var/www/html/lms-1-11-21/devel/upgradedb.php:24
Stack trace:
#0 {main}
  thrown in /var/www/html/lms-1-11-21/devel/upgradedb.php on line 24

TL/TR: Nie stosujesz się do poleceń by rozwiązać swój problem (migracja bazy na postgresa).

  1. Niby czym ta migrację zrobić?
  2. Co ze strukturą bazy w wersji 1.11.13 po migracji do postgre? git26 po postgree poradzi sobie z migracją bazy z wersji 1.11.13? Bo jeśli nie potrafi zmigrować to nie ma sensu bawić się w postgre.
  3. Jako ciekawostka dodam że w archiwach macie wersję 1.11.13 a potem 1.11.19 (tak wiem dlaczego) a mimo to nawet wersja 1.11.19 nie potrafi zassać bazy 1.11.13.
MariaDB [lms]> SELECT id, name, passwd, hosts, lastlogindate, lastloginip, passwdexpiration, passwdlastchange, access, accessfrom, accessto, swekey_id FROM users WHERE login='xxx' AND deleted=0;
ERROR 1054 (42S22): Unknown column 'name' in 'field list'
MariaDB [lms]> 

@batot1
Copy link
Author

batot1 commented Sep 4, 2020

No to większość odpowiedzi znalazłem w:
#1229
Masakra....

@hoktaur

This comment has been minimized.

@interduo

This comment has been minimized.

@hoktaur

This comment has been minimized.

@interduo

This comment has been minimized.

@hoktaur

This comment has been minimized.

@interduo

This comment has been minimized.

@batot1

This comment has been minimized.

@interduo
Copy link
Collaborator

interduo commented Sep 5, 2020

LMS+ nie jest open source i nie jest dla wszystkich.
Doskonale rozumiem opensource ale nie w waszym wydaniu.

  1. Gdyby nie LMS+ to raczej by byłoby ostatnich 10k+ commitów.
  2. Commity z LMS+ trafiają do lmsgit
    Moje PRy są wrzucane przez lmsgit bo travis tutaj działa.

Ktoś grzecznie prosi o pomoc bo Wasz program nie działa prawidłowo a Wy go odsyłacie do LMS+.

Community edition w LMS leży. Nie każdy ma zasoby, żeby za rączkę prowadzić lub rozwiązać problem za niego.
(który był już wielokrotnie rozwiązywany)

Udostępnić Wam kod po to abyście zamieścili w LMS+ i trzepali kasę za czyjąś pracę?

Helllouuu na LMS+ ja nie zarabiam. Piszę ficzery które są potrzebne w mojej firmie i udostępniam je za free. Zanim rzucisz na wiatr takie stwierdzenie zorientuj się bardziej w sytuacji. O jakim wydaniu "waszym" wydaniu open source mówisz?

@interduo
Copy link
Collaborator

interduo commented Sep 5, 2020

@hoktaur to teraz jeszcze druga strona medalu - napisałeś co zrobiłeś. Zobacz ile w międzyczasie dobyło od Twojej ostatniej synchronizacji z branchem master. Zobacz sobie jak wiele commitów wpadło to serio jest kupa pracy - sam oceń.

@rafalpietraszewicz
Copy link
Collaborator

@batot1 jeśli wykonałeś 'devel/upgradedb.php' i dostajesz poniższe komunikaty to masz problem z silnikiem bazy danych.

Cannot load from mysql.proc. The table is probably corrupted
SELECT section, var, value, description FROM uiconfig WHERE disabled = 0 AND userid is null
Unknown column 'userid' in 'where clause'
lms@lms:/var/www/html/lms-git26$

Zrób '#mysql_upgrade -u root -p' i będzie po sprawie.

Żeby podnieść LMS z wersji 1.11.13 do aktualnej wykonaj następujące kroki:

  1. Ściągnij bieżącą wersję gałęzi 'master'
  2. Zaaplikuj zmiany z commita: e0fde96 (PR z tym commitem nie został jeszcze zaakceptowany i może się zmienić dlatego proponuję przeprowadzić operację na bazie testowej).
  3. Uruchom z katalogu głównego instalacji ''php devel/upgradedb.php'.

Ostatni krok nie powinien zwrócić żadnych błędów sql, a LMS podniesie się do najnowszej wersji.

@batot1
Copy link
Author

batot1 commented Sep 5, 2020

Ad.2 Mogę prosić step by step jak "zaaplikować zmiany commita" lub link do przykładu?

Bez zmiany commita php devel/upgreadedb.php "się wysypał" co wyżej zamieściłem już ale developerów to nie zainteresowało.
masz tutaj #1763 (comment).
W zasadzie to ten git-26 tak "upgradował" moja bazę że żadna wersja LMS od 1.11.19 nie odpala się z moja bazą (przed upgrade sprawną), więc zarazem przestrzegam potomnych niech sobie potestują na kopi bo jest duża szansa, że upgrade bazy się nie uda.

@rafalpietraszewicz
Copy link
Collaborator

rafalpietraszewicz commented Sep 6, 2020

Ad.2 Mogę prosić step by step jak "zaaplikować zmiany commita" lub link do przykładu?

@batot1 prościej będzie jeśli zaczekasz, aż zmiany, który wysłałem wejdą do gałęzi 'master' (co powinno nastąpić w ciągu 24h). Wtedy zostanie Ci zrobić pkt.1 i 3.

Bez zmiany commita php devel/upgreadedb.php "się wysypał" co wyżej zamieściłem już ale developerów to nie zainteresowało.
masz tutaj #1763 (comment).

@batot1 zwróć uwagę, że już praktycznie na samym początku wątku (#1763 (comment)) dostałeś poniższy błąd:

Błąd: Cannot load from mysql.proc. The table is probably corrupted

W takim przypadku aktualizacja nie miała prawa zadziałać bo dla mariadb tabela jest uszkodzona, ale na pewno nie z winy procesu aktualizacji LMS, tylko raczej mógł powstać na etapie aktualizacji silnika bazy danych. Czy sposób ''#mysql_upgrade -u root -p' rozwiązał u Ciebie ten problem?

W zasadzie to ten git-26 tak "upgradował" moja bazę że żadna wersja LMS od 1.11.19 nie odpala się z moja bazą (przed upgrade sprawną),

@batot1 widzę, że udało Ci się podnieść przynajmniej z wersji 1.11.13 do 1.11.19. Tak jak pisałem, aktualizacja LMS nie jest w stanie uszkodzić Ci tabel bazy danych, ale po aktualizacji mariadb nowa wersja mariadb może mieć problemy z czytaniem tabel dlatego trzeba wykonać czynności administracyjne jak 'mysql_upgrade'. Jest to normalne dla aktualizacji silnika baz danych. Jak poprawki wejdą do 'master' aktualizacja pójdzie dalej.

więc zarazem przestrzegam potomnych niech sobie potestują na kopi bo jest duża szansa, że upgrade bazy się nie uda.

@batot1 nie ma przed czym przestrzegać bo cały świat się do tego już od dawna stosuje. Nie robi się aktualizacji systemu produkcyjnego bez wykonania wcześniej kopii zapasowej. Zwróć uwagę, że aktualizujesz wersję sprzed 10 lat. Zakładanie, że to się powiedzie bez zgrzytów jest co najmniej naiwnością.

@batot1
Copy link
Author

batot1 commented Sep 6, 2020

root@lms:~# mysql_upgrade -u root -p
Enter password:
MySQL upgrade detected
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats                                 OK
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.gtid_slave_pos                               OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.index_stats                                  OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.roles_mapping                                OK
mysql.servers                                      OK
mysql.table_stats                                  OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Phase 2/7: Installing used storage engines
Checking for tables with unknown storage engine
Phase 3/7: Fixing views from mysql
lms.contractorview                                 OK
lms.customeraddressview                            OK
lms.customermailsview                              OK
lms.nas                                            OK
lms.teryt_simc                                     OK
lms.teryt_terc                                     OK
lms.teryt_ulic                                     OK
lms.vaddresses                                     OK
lms.vdivisions                                     OK
lms.vmacs                                          OK
lms.vnodes                                         OK
lms.vnodes_mac                                     OK
lms.vusers                                         OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
lms
lms.addresses                                      OK
lms.aliasassignments                               OK
lms.aliases                                        OK
lms.assignments                                    OK
lms.cash                                           OK
lms.cashimport                                     OK
lms.cashreglog                                     OK
lms.cashregs                                       OK
lms.cashrights                                     OK
lms.cashsources                                    OK
lms.countries                                      OK
lms.customer_addresses                             OK
lms.customerassignments                            OK
lms.customercontacts                               OK
lms.customergroups                                 OK
lms.customers                                      OK
lms.daemonconfig                                   OK
lms.daemoninstances                                OK
lms.dbinfo                                         OK
lms.debitnotecontents                              OK
lms.divisions                                      OK
lms.docrights                                      OK
lms.documentattachments                            OK
lms.documentcontents                               OK
lms.documents                                      OK
lms.domainmetadata                                 OK
lms.domains                                        OK
lms.eventassignments                               OK
lms.events                                         OK
lms.ewx_channels                                   OK
lms.ewx_pt_config                                  OK
lms.ewx_stm_channels                               OK
lms.ewx_stm_nodes                                  OK
lms.excludedgroups                                 OK
lms.gponauthlog                                    OK
lms.gponolt                                        OK
lms.gponoltports                                   OK
lms.gponoltprofiles                                OK
lms.gpononu                                        OK
lms.gpononu2customers                              OK
lms.gpononu2olt                                    OK
lms.gpononumodels                                  OK
lms.gpononuport                                    OK
lms.gpononuportstype                               OK
lms.gpononuportstype2models                        OK
lms.gpononutv                                      OK
lms.hosts                                          OK
lms.invoicecontents                                OK
lms.invprojects                                    OK
lms.liabilities                                    OK
lms.location_boroughs                              OK
lms.location_buildings                             OK
lms.location_cities                                OK
lms.location_districts                             OK
lms.location_states                                OK
lms.location_street_types                          OK
lms.location_streets                               OK
lms.logmessagedata                                 OK
lms.logmessagekeys                                 OK
lms.logmessages                                    OK
lms.logtransactions                                OK
lms.macs                                           OK
lms.managementurls                                 OK
lms.messageitems                                   OK
lms.messages                                       OK
lms.nastypes                                       OK
lms.netdevicemodels                                OK
lms.netdeviceproducers                             OK
lms.netdevices                                     OK
lms.netlinks                                       OK
lms.netnodes                                       OK
lms.netradiosectors                                OK
lms.networks                                       OK
lms.nodeassignments                                OK
lms.nodegroupassignments                           OK
lms.nodegroups                                     OK
lms.nodelocks                                      OK
lms.nodes                                          OK
lms.nodesessions                                   OK
lms.numberplanassignments                          OK
lms.numberplans                                    OK
lms.passwd                                         OK
lms.passwdhistory                                  OK
lms.payments                                       OK
lms.pna                                            OK
lms.promotionassignments                           OK
lms.promotions                                     OK
lms.promotionschemas                               OK
lms.receiptcontents                                OK
lms.records                                        OK
lms.rtattachments                                  OK
lms.rtcategories                                   OK
lms.rtcategoryusers                                OK
lms.rtmessages                                     OK
lms.rtqueues                                       OK
lms.rtrights                                       OK
lms.rtticketcategories                             OK
lms.rttickets                                      OK
lms.sessions                                       OK
lms.sourcefiles                                    OK
lms.states                                         OK
lms.stats                                          OK
lms.supermasters                                   OK
lms.tariffassignments                              OK
lms.tariffs                                        OK
lms.tarifftags                                     OK
lms.taxes                                          OK
lms.templates                                      OK
lms.uiconfig                                       OK
lms.up_customers                                   OK
lms.up_help                                        OK
lms.up_info_changes                                OK
lms.up_rights                                      OK
lms.up_rights_assignments                          OK
lms.userassignments                                OK
lms.usergroups                                     OK
lms.users                                          OK
lms.voip_cdr                                       OK
lms.voip_emergency_numbers                         OK
lms.voip_number_assignments                        OK
lms.voip_numbers                                   OK
lms.voip_pool_numbers                              OK
lms.voip_prefix_groups                             OK
lms.voip_prefixes                                  OK
lms.voip_price_groups                              OK
lms.voip_rule_groups                               OK
lms.voip_rule_states                               OK
lms.voip_rules                                     OK
lms.voip_tariff_rules                              OK
lms.voip_tariffs                                   OK
lms.voipaccounts                                   OK
lms.zipcodes                                       OK
performance_schema
phpmyadmin
phpmyadmin.pma__bookmark                           OK
phpmyadmin.pma__column_info                        OK
phpmyadmin.pma__designer_coords                    OK
phpmyadmin.pma__favorite                           OK
phpmyadmin.pma__history                            OK
phpmyadmin.pma__navigationhiding                   OK
phpmyadmin.pma__pdf_pages                          OK
phpmyadmin.pma__recent                             OK
phpmyadmin.pma__relation                           OK
phpmyadmin.pma__savedsearches                      OK
phpmyadmin.pma__table_coords                       OK
phpmyadmin.pma__table_info                         OK
phpmyadmin.pma__table_uiprefs                      OK
phpmyadmin.pma__tracking                           OK
phpmyadmin.pma__userconfig                         OK
phpmyadmin.pma__usergroups                         OK
phpmyadmin.pma__users                              OK
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
MariaDB [lms]> select * from dbinfo;
+----------------------------------+--------------------------------------------------+
| keytype                          | keyvalue                                         |
+----------------------------------+--------------------------------------------------+
| dbversion                        | 2020082600                                       |
| last_check_for_updates_timestamp | 1598539176                                       |
| regdata_hidden                   | 0                                                |
(...)
+----------------------------------+--------------------------------------------------+
7 rows in set (0.00 sec)

@rafalpietraszewicz kurde tyle szukania a wystarczyło jedno polecenie którego nikt nie zapodał wcześniej a nie pamiętałem dokładnie tego polecenia do upgrade bazy po przejściu z mysql do MariaDB.
Masz u mnie dwa browary. Mogę się jakoś odwdzięczyć za pomoc?
Tylko dlaczego cały czas idziecie w kierunku migracji ludzi z MariaDB na Postgresa wytłumaczy mi to ktoś?

Działa GIT-26 - dziękuję wszystkim!

@interduo
Copy link
Collaborator

interduo commented Sep 6, 2020

@batot1 żeby nie utrzymywać obsługi dwóch silników? Z tego samego powodu też @chilek też zaleca CentOSa zamiast Debiana.

Dąży się do jednorodności środowiska w celu zmniejszenia liczby problemów.

@batot1
Copy link
Author

batot1 commented Sep 6, 2020

Udostępnienie skryptu do migracji bazy bardzo by pomogło w rozpropagowaniu Postgresa o czym była już mowa, ale skoro nie ma publicznie dostępnego więc pewnie ludzie dalej będą się kulać z MariaDB.
Chyba że ktoś wie jak zrobić (przenieś bazę z MariaDB do Posgresa) i chce się podzielić to zgłaszam się na beta testera ;-)

@rafalpietraszewicz
Copy link
Collaborator

To nie jest wina po mojej stronie na 100%

@batot1 pamiętasz jak na początku o tym mówiłeś :)

kurde tyle szukania a wystarczyło jedno polecenie którego nikt nie zapodał wcześniej a nie pamiętałem dokładnie tego polecenia do upgrade bazy po przejściu z mysql do MariaDB.

@batot1 w przypadku aplikacji webowych trzeba znać podstawy. Myślę, że gdybyś spróbował w podobnym środowisku aktualizować np. Wordpress również byś się zmierzył z takim samym problemem. Inna sprawa to taka, że prawdziwy problem schował się wśród wypowiedzi nie związanych z nim samym.

Mogę się jakoś odwdzięczyć za pomoc?

@batot1 jest tylko jedna możliwa opcja wdzięczności, przystąp do projektu LMSplus. Pragnę zaznaczyć, że pomoc jaką uzyskałeś mogła nastąpić właśnie dzięki wszystkim ludziom, którzy są w projekcie LMSplus i to im powinieneś dziękować za wsparcie. Jeśli jesteś rozsądnym przedsiębiorcą z pewnością szybko dojdziesz do wniosku, że 200zł miesięcznie to jest banalna kwota w zamian za korzyści jakie dostajesz. Pana @hoktaur również namawiam, bo przy okazji będzie mógł się podzielić swoją spuścizną programistyczną ze światem i kto wie może nawet pozostanie to dla potomności.

@batot1 zwróć uwagę, że dostałeś za darmo wsparcie do aktualizacji systemu sprzed 10 lat. Nie wiem czy gdzieś na świecie jest to jeszcze możliwe. Teraz się zastanów czy możesz z tym żyć, że ktoś inny płaci 200zł /mies za wsparcie dla Ciebie. Myślę, że wszystkie frustracje jakie wylałeś w tym wątku nie miały żadnych podstaw. Ja, jako developer LMS, czuję tylko niesmak po Twoich wypowiedziach, ale społeczność LMSplus, która wspiera LMS powinna czuć się przynajmniej urażona. Myślę, że powinieneś zrobić rachunek sumienia, a pewne słowa, które padły z Twojej strony, miej odwagę sprostować.

@batot1 mam nadzieję, że w przyszłości nie będziesz zbyt pochopnie wyciągał wniosków i miotał oskarżeniami, żeby nasza przyszła korespondencja skupiła się na merytorycznym rozwiązaniu problemu i nie tworzyła negatywnych emocji.

Działa GIT-26 - dziękuję wszystkim!

No i fajnie. Widzisz, jak chcesz to potrafisz :)

@rafalpietraszewicz
Copy link
Collaborator

Tylko dlaczego cały czas idziecie w kierunku migracji ludzi z MariaDB na Postgresa wytłumaczy mi to ktoś?

@batot1 a dlaczego mielibyśmy nie iść?

@rafalpietraszewicz
Copy link
Collaborator

rafalpietraszewicz commented Sep 6, 2020

Chyba że ktoś wie jak zrobić (przenieś bazę z MariaDB do Posgresa) i chce się podzielić to zgłaszam się na beta testera ;-)

W ramach projektu LMSplus uczestnicy dostają dostęp do szerokiej dokumentacji, która m.in. taki proces opisuje.

Ale ten proces to nie jest jakaś magia, parę dni w internecie poszukasz i zrobisz.

@batot1
Copy link
Author

batot1 commented Sep 6, 2020

Mogę się jakoś odwdzięczyć za pomoc?

@batot1 jest tylko jedna możliwa opcja wdzięczności, przystąp do projektu LMSplus.

Chętnie ale cena jest spora a szkoda bo dużo operatorów korzysta z LMS'a i pewnie by chętnie skorzystało.
Za te kilka modułów które można osobno doinstalować to zbyt wygórowana cena moim zdaniem.
Kto wie może powstanie jakaś alternatywna wersja bo rynek nie lubi pustki a projekt pana @hoktaur jest już używany przez kilka firm produkcyjnie a i sam coś tam widziałem, więc kto wie w jakim kierunku to pójdzie.
Powiem szczerze spodziewałem się czegoś nowego w LMS'ie GIT-26.
W bardzo niewielkim stopniu różni się od wersji bardzo starej 1.11.13. W zasadzie po powodem zgodności bibliotek w systemie niewiele dostajemy w zamian.
Co innego wersja @hoktaur tam ficzerów jest całe mnóstwo. Jak to mówią dla każdego coś innego.

@batot1 mam nadzieję, że w przyszłości nie będziesz zbyt pochopnie wyciągał wniosków i miotał oskarżeniami, żeby nasza przyszła korespondencja skupiła się na merytorycznym rozwiązaniu problemu i nie tworzyła negatywnych emocji.

Prosiłem grzecznie o pomoc a z Waszej strony poszły uwagi a to MariaDB a nie Postgres potem docinki że to niby Arch a w poście było napisane wyraźnie że Debian. Jak dowiedzieli się że Debian to a Debian nie Centos. Na odchodne rzucili przejść na LMS+
Wypowiedzi ironicznych Pana @chilek w ogóle nie komentowałem bo zupełnie nie były na temat więc nie odnosiłem się. To nie są oskarżenia ale spostrzeżenia.

Cieszę się jednak że są tacy co chcą pomóc. Pozdrawiam w pokoju.

@rafalpietraszewicz
Copy link
Collaborator

Chętnie ale cena jest spora a szkoda bo dużo operatorów korzysta z LMS'a i pewnie by chętnie skorzystało.

Zawsze możesz skorzystać z opcji darowizny na stronie https://lms.org.pl/ i wspomóc projekt LMS kwotą jaka jest dla Ciebie przystępna :)

LMS jest 'Open Source' więc każdy operator może zacząć używać go w dowolnej chwili i to bezpłatnie. Wsparcie finansowe LMS w formie darowizny jest uznaniowe.

@batot1 wiemy z wersji aktualizacji, że używasz LMS od przynajmniej 10lat za darmo, więc zastanów się czy to nie byłaby z Twojej strony wspaniała forma wdzięczności gdybyś przystąpił do LMSplus, a przy okazji jeszcze wiele zyskał. Nie piszę tego żeby być uszczypliwym wobec Ciebie bo jest wielu takich jak Ty, ale musi zmienić się świadomość społeczności operatorów. Operatorzy nie rozdają swoich usług za darmo, ale żądają, żeby system LMS był darmowy i zaspokajał wszystkie ich potrzeby. Na szczęście są tacy, którzy to rozumieją i to dzięki nim i ich wsparciu przez LMSplus prze do przodu LMS, co z pewnością zauważysz po udanej aktualizacji.

Pozdrawiam.

@hoktaur
Copy link

hoktaur commented Sep 6, 2020

@hoktaur to teraz jeszcze druga strona medalu - napisałeś co zrobiłeś. Zobacz ile w międzyczasie dobyło od Twojej ostatniej synchronizacji z branchem master. Zobacz sobie jak wiele commitów wpadło to serio jest kupa pracy - sam oceń.

Wbrew pozorom jakby się mogło wydawać ... jestem zainteresowany jak na razie :) i nie robię tego dla projektu tylko dla siebie do tej pory robiłem wszystko sam na własnych zasobach i bez pomocy gita i innych wynalazków oraz nie ma doświadczenia w pracy w grupie a tym jestem zainteresowany chce spr czy to mi odpowiada

Niestety zazwyczaj jestem dość zajęty oraz potrzebuje pokończyć kilka spraw (m.in z LMS Git) wtedy możemy podziałać dalej ... proponuje kontakt na @ aby ustalić szczegóły

@interduo
Copy link
Collaborator

interduo commented Sep 6, 2020

Chętnie ale cena jest spora a szkoda bo dużo operatorów korzysta z LMS'a i pewnie by chętnie skorzystało.

Serio? Czy Ty masz 10, 100 czy kilka tys klientów? Źleć programiście napisanie jednej poprawki/modułu i zweryfikuj to co napisałeś.

Za te kilka modułów które można osobno doinstalować to zbyt wygórowana cena moim zdaniem.

Do niedawna ja przez 2 lata do tej pory nie skorzystałem z żadnego modułu który był w repo LMS+ natomiast z commitów które wpadły LMSplus --> lmsgit już jak najbardziej. Myślę nadal, że liczysz na to że ktoś będzie rozwijał produkt za darmo.

Kto wie może powstanie jakaś alternatywna wersja bo rynek nie lubi pustki a projekt pana @hoktaur jest już używany przez kilka firm produkcyjnie a i sam coś tam widziałem, więc kto wie w jakim kierunku to pójdzie.

Wolałbym, żeby ktoś pisał wtyczki do LMS za które mógłbym zapłacić rozwijające funkcje.

Powiem szczerze spodziewałem się czegoś nowego w LMS'ie GIT-26. W bardzo niewielkim stopniu różni się od wersji bardzo starej 1.11.13. W zasadzie po powodem zgodności bibliotek w systemie niewiele dostajemy w zamian.

Zadałeś sobie trud i przejrzałeś całego changeloga czy oceniasz po oldskulowej kolorystyce?

Co innego wersja @hoktaur tam ficzerów jest całe mnóstwo. Jak to mówią dla każdego coś innego.

Nie budujmy mitów na tą chwilę. Powiedziałem już co sądzę Show me your code. :)

Prosiłem grzecznie o pomoc a z Waszej strony poszły uwagi a to MariaDB a nie Postgres.

Długoterminowo to bardzo dobra rada - sam migrowałem mogę Ci coś na ten temat powiedzieć.

@interduo
Copy link
Collaborator

interduo commented Sep 6, 2020

@hoktaur Cykl CI/CD aplikacji to całkiem spory kawałek wiedzy, który trzeba przyswoić.
A ja proponuję githuba zamiast maila, długo siedzisz na githubie znasz jego wszystkie funkcje?

@hoktaur
Copy link

hoktaur commented Sep 7, 2020

@hoktaur Cykl CI/CD aplikacji to całkiem spory kawałek wiedzy, który trzeba przyswoić.
A ja proponuję githuba zamiast maila, długo siedzisz na githubie znasz jego wszystkie funkcje?

już napisałem wyżej ale, ... nie pracowałem w grupie, nie jestem programistą i nie używam githuba

@hoktaur
Copy link

hoktaur commented Sep 7, 2020

Co innego wersja @hoktaur tam ficzerów jest całe mnóstwo. Jak to mówią dla każdego coś innego.

Nie budujmy mitów na tą chwilę. Powiedziałem już co sądzę Show me your code. :)

Przesadza nie ma co tam pokazywać .... dramat i tyle ;)

@interduo
Copy link
Collaborator

interduo commented Sep 7, 2020

@hoktaur chodź się kiedyś z zoomujmy i pogadajmy o tak o na luzie.

@batot1
Copy link
Author

batot1 commented Oct 13, 2020

testów upgrade Diara (1.11,23) do GIT-26 c.d.

Powracam z problemem bo teraz chce wrzucić na nowa maszynę produkcyjną działającą z tym GIT-26 starą wersję bazy LMS z wersji 1.11.13 i nie da się. Mam dokładnie te same błędy co już wcześniej zauważono wątku #1229 ale też nikt nie powiedział jak rozwiązać problem.
Czyżby tylko wsparcie płatne rozwiązywało problem?

Backup bazy zrobiłem tak:
mysqldump -u username -p lms --single-transaction --quick --lock-tables=false > lms-backup-$(date +%F).sql

Przywracanie bazy z DIARY w LMS GIT-26 działający sprawny z usuniętymi błędami z wersji z repo.

Wszystkie operacje na GIT-26 jako nowym systemie

  1. Bazę "lms" usunięto w MariaDB.
  2. Utworzono bazę LMS zgodnie z dokumentacją lms.org.pl
  3. Próba wgrania metodą:
lms@lms:~$ mysql -u lms -p --one-database lms < lms-diara-backup-2020-10-13.sql 
Enter password: 
ERROR 1227 (42000) at line 2515: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
lms@lms:~$ 

Dziwne pomimo że wcześnie stożono użytkownika lms z pełnymi prawami dostępu zgodnie z Ad.2. czyli poleceniem:
GRANT ALL ON lms.* TO lms@localhost IDENTIFIED BY 'twoje_hasło';

No nic skoro brak uprawnień to lecimy dalej z poziomu roota:
lms@lms:~$ mysql -u root -p --one-database lms < lms-diara-backup-2020-10-13.sql 
Enter password: 
ERROR 1305 (42000) at line 2515: FUNCTION lms.lms_current_user does not exist

identycznym błędme pluje php ./devel/upgradedb.php

(C) 2001-2019 LMS Developers
Using file /etc/lms/lms.ini as config.
DB schema version bumped to 2017041800
DB schema upgrade errors:

        CREATE VIEW customerview AS
            SELECT c.*,
                a1.country_id as countryid, a1.zip as zip, a1.city as city,
                a1.street as street,a1.house as building, a1.flat as apartment,
                a2.country_id as post_countryid, a2.zip as post_zip,
                a2.city as post_city, a2.street as post_street, a2.name as post_name,
                a2.house as post_building, a2.flat as post_apartment,
                a1.address as address, a1.location AS full_address,
                a2.address as post_address, a2.location AS post_full_address
            FROM customers c
                JOIN customer_addresses ca1 ON c.id = ca1.customer_id AND ca1.type = 1
                LEFT JOIN vaddresses a1 ON ca1.address_id = a1.id
                LEFT JOIN customer_addresses ca2 ON c.id = ca2.customer_id AND ca2.type = 0
                LEFT JOIN vaddresses a2 ON ca2.address_id = a2.id
            WHERE NOT EXISTS (
                SELECT 1 FROM customerassignments a
                JOIN excludedgroups e ON (a.customergroupid = e.customergroupid)
                WHERE e.userid = lms_current_user() AND a.customerid = c.id)
                AND c.type < 2

FUNCTION lms.lms_current_user does not exist
SELECT section, var, value, description FROM uiconfig WHERE disabled = 0 AND userid is null
Unknown column 'userid' in 'where clause'
lms@lms:/var/www/html/lms-git26$ 

No i tutaj tak samo jak wątku #1229 brak rozwiązania.
A może trzeba pozwolić GIT-26 aby poprzez WWW stworzył se tego usera?
też ślepa uliczka bo ktoś celowo wyrzucił funkę:
"FUNCTION lms.lms_current_user does not exist"
a LMS nie tworzy pierwszego usera.

Na zakończenie stworzenie pustej bazy w GIT-26:
generuje błąd na stronie www "Could not load database schema!"

lms@lms:/var/www/html/lms-git26$ php ./devel/upgradedb.php 
upgradedb.php
(C) 2001-2019 LMS Developers
Using file /etc/lms/lms.ini as config.
DB schema version bumped to 2020083100

Rozwiązuje problem i otwiera się okienko z tworzeniem usera pierwszego.
Niestety z nieznanych mi powodów nie da się go stworzyć i za każdym razem LMS odrzuca polecenie ZAPISZ i na nowo okienko tworzenia usera.
Telefon do przyjaciela....
Potwierdza że miał ten sam problem, ponoć błąd w strukturze LMS'a.
Czyżby nadal nie poprawiony?
W logach:
[Tue Oct 13 13:27:19.150186 2020] [:error] [pid 16755] [client 192.168.1.2:54738] PHP Warning: array_keys() expects parameter 1 to be array, null given in /var/www/html/lms-git26/index.php on line 257, referer: http://192.168.1.1/lms-git26/?m=logout&is_sure=1

Czy ktoś wie jak wgrać bazę z 1.11.13 do GIT26 aby działało?
Zaznaczam nie mam możliwości stworzenia identycznego systemu na testy jak ten który jest na DIARZE i chyba nie o to tutaj chodzi aby zmuszać użytkownika backapu aby wgrywał wersję do identycznej wersji systemu.
Nie wiem czy do końca trafnie wybrałem wątek bo teraz zauważyłem, że dotyczy migracji do wersji 1.11.25 a nie do GIT26. Proszę ew przerzucić lub napisać to przerzucę do wątku GIT-26.

Pokusiłem się na ten czystej bazie z scheme zgodnym bez pierwszego usera bo nie można go stworzyć wgrać jeszcze raz bazę z 1.11.13:

lms@lms:~$ mysql -u root -p --one-database lms < lms-diara-backup-2020-10-13.sql 
Enter password: 
lms@lms:~$ cd /var/www/html/lms-git26/

Wow przeszło....

Teraz męczę 100-tki razy php ./devel/upgradedb.php co wypluwa setki błędów ale idzie dalej...
Przykładowy błąd jeden z setek:

lms@lms:/var/www/html/lms-git26$ php ./devel/upgradedb.php 
upgradedb.php
(C) 2001-2019 LMS Developers
Using file /etc/lms/lms.ini as config.
DB schema version bumped to 2020080300
DB schema upgrade errors:

    CREATE TABLE userdivisions (
        id int(11) NOT NULL auto_increment,
        userid int(11) NOT NULL,
        divisionid int(11) NOT NULL,
        PRIMARY KEY (id),
        INDEX userdivisions_userid_idx (userid),
        CONSTRAINT userdivisions_userid_fkey
            FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE,
        CONSTRAINT userdivisions_divisionid_fkey
            FOREIGN KEY (divisionid) REFERENCES divisions (id) ON DELETE CASCADE ON UPDATE CASCADE,
        UNIQUE KEY userdivisions_userid_divisionid_ukey (userid, divisionid)
    ) ENGINE=InnoDB

Table 'userdivisions' already exists

Ale:

lms@lms:/var/www/html/lms-git26$ php ./devel/upgradedb.php 
upgradedb.php
(C) 2001-2019 LMS Developers
Using file /etc/lms/lms.ini as config.
DB schema version bumped to 2020083100
lms@lms:/var/www/html/lms-git26$ 

Niby osiągnął spoójność.
Niby działa LMS ale czy wszystkie dane prawidłowo przeniósł to tego nie wiem.
Da się to prościej zrobić?

Wejście na:
http://10.60.1.232/lms-git26/userpanel/
powoduje:
"Composer autoload not found. Run 'composer install' command from LMS directory and try again. More informations at https://getcomposer.org/"

ms@lms:/var/www/html/lms-git26/userpanel$ composer install
Composer could not find a composer.json file in /var/www/html/lms-git26/userpanel
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

LMS chodzi a user panel nie chodzi. I co biega z tym composerem?

Wykonanie :

lms@lms:/var/www/html/lms-git26/userpanel$ composer install
Composer could not find a composer.json file in /var/www/html/lms-git26/userpanel
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
lms@lms:/var/www/html/lms-git26/userpanel$ cd ..
lms@lms:/var/www/html/lms-git26$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package phine/exception is abandoned, you should avoid using it. No replacement was suggested.
Package phine/observer is abandoned, you should avoid using it. No replacement was suggested.
Package setasign/fpdi-tcpdf is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
> sed -i -e 's/class HTML2PDF_myPdf extends TCPDF/class HTML2PDF_myPdf extends LMSTCPDF/' vendor/spipu/html2pdf/_class/myPdf.class.php
> sed -i -e 's/\(\s\+\)register_shutdown_function/\1\/\/register_shutdown_function/' vendor/tecnickcom/tcpdf/tcpdf.php
> cp -f lib/ezpdf/fonts/arial* vendor/rospdf/pdf-php/src/fonts
lms@lms:/var/www/html/lms-git26$ 

Niczego nie zmienia nadal userpanel nie działa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants