Salut !
maintenant que le problème de hash est réglé, je bute sur le même
problème qu'avant la mise à jour, à savoir :
TypeError
Cannot assign null to property Paheko\Config::$analytical_set_all of
type bool
je colle le message d'erreur complet (moins les ips et adresses mails)
là-dessous, je panne rien :
TypeError
Cannot assign null to property Paheko\Config::$analytical_set_all of
type bool
in .../include/lib/KD2/DB/AbstractEntity.php:146
142 elseif (is_string($value) && !$prop->string) {
143 $value = $this->transformValue($name, $value);
144 }
145
146 $this->$name = $value;
147 }
148
149 return $this;
150 }
in .../include/lib/Paheko/Config.php:182
→ KD2\DB\AbstractEntity->load (1 arg.)
$data
array(22) {
["org_name"]=> string(7) "XXXXXX"
["org_infos"]=> NULL
["org_email"]=> string(26) "XXXXXXXXXX@XXXXX.XXX"
["org_address"]=> NULL
["org_phone"]=> NULL
["org_web"]=> NULL
["currency"]=> string(3) "€"
["country"]=> string(2) "FR"
["default_category"]=> string(1) "1"
["backup_frequency"]=> NULL
["backup_limit"]=> NULL
["last_chart_change"]=> string(10) "1671300428"
["last_version_check"]=> NULL
["color1"]=> NULL
["color2"]=> NULL
["files"]=> string(126)
"{"admin_background":null,"admin_homepage":1661463072,"admin_css":null,"logo":null,"icon":null,"favicon":null,"signature":null}"
["site_disabled"]=> string(1) "1"
["log_retention"]=> string(3) "365"
["analytical_set_all"]=> NULL
["file_versioning_policy"]=> string(4) "none"
["file_versioning_max_size"]=> string(1) "5"
["auto_logout"]=> NULL
}
178 continue;
179 }
180 }
181
182 $this->load($config);
183 }
184
185 public function setCreateFlag(): void
186 {
in .../include/lib/Paheko/Config.php:146
→ Paheko\Config->__construct (0 arg.)
142 static protected $_instance = null;
143
144 static public function getInstance()
145 {
146 return self::$_instance ?: self::$_instance = new self;
147 }
148
149 static public function deleteInstance()
150 {
in .../include/lib/Paheko/Template.php:121
→ Paheko\Config::getInstance (0 arg.)
117 $session = null;
118
119 if (!defined('Paheko\INSTALL_PROCESS')) {
120 $session = Session::getInstance();
121 $this->assign('config', Config::getInstance());
122 }
123 else {
124 $this->assign('config', null);
125 }
in .../include/lib/Paheko/Template.php:23
→ Paheko\Template->__construct (0 arg.)
19 static protected $_instance = null;
20
21 static public function getInstance()
22 {
23 return self::$_instance ?: self::$_instance = new Template;
24 }
25
26 public function display($template = null)
27 {
in .../www/admin/_inc.php:19
→ Paheko\Template::getInstance (0 arg.)
15{
16 return isset($_GET[$key]) ? $_GET[$key] : null;
17}
18
19$tpl = Template::getInstance();
20
21$form = new Form;
22$tpl->assign_by_ref('form', $form);
23
in .../www/admin/index.php:12
→ require_once (1 arg.)
0
string(22) ".../www/admin/_inc.php"
8use Paheko\Entities\Files\File;
9use Paheko\Extensions;
10use Paheko\Plugins;
11
12require_once __DIR__ . '/_inc.php';
13
14$session = Session::getInstance();
15
16$banner = '';
Context
date 2023-12-13T19:13:06+01:00
duration 12.797832489014
environment development
hostname mondomaineamoi.com
http_files array(0) { }
http_method GET
http_post array(0) { }
http_user_agent Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101
Firefox/120.0
id 3otztyfy
language PHP 8.2.13
memory_peak 2097152
memory_used 2097152
os Linux
paheko_data_root /home/yunohost.app/paheko/data
paheko_version 1.3.4
php_sapi fpm-fcgi
remote_ip X.X.X.X
root_directory /var/www/paheko
server_addr X.X.X.X
user_addr X.X.X.X
url https://mondomaineamoi.com/paheko/admin/
C'est qu'il te manque la mise à jour 1.1.31 à nouveau, il faut refaire
les mises à jour depuis ce moment-là je pense ?
Bonjour,
Même erreur ici. Chez OVH, en principe en v1.2.11.
J'ai essayé de migrer en 1.3.5 ou en 1.3.0 => même comportement.
J'ai essayé via la màj en ligne ou avec le tar + sqlite dans data. Pas
mieux.
Je dois faire une restauration du répertoire pour reprendre la main.
Le 13/12/2023 à 20:44, BohwaZ/Paheko a écrit :
> C'est qu'il te manque la mise à jour 1.1.31 à nouveau, il faut
refaire
> les mises à jour depuis ce moment-là je pense ?
Je ne sais pas si le problème peut être le même, mais veux bien essayer
de repasser des màj, mais je ne sais pas comment !
Merci,
Benoit
Il te manque la mise à jour 1.1.31 au moins, peut-être d'autres.
Je te suggère donc de reprendre la sauvegarde faite avant la 1.1.31 et
de recommencer à partir de cette sauvegarde.
Si tu as fait des modifs depuis cette mise à jour, essaye de modifier
ta base de données pour forcer les mises à jour :
UPDATE config SET value = '1.1.30' WHERE key = 'version';
Euh... Je n'ai pas de clé "version" dans ma table config !
J'ai tenté un insert into config values ('version', '1.1.30'),
mais
j'obtiens l'erreur RuntimeException "version" is not a property of the
entity "Garradin\Config".
Par acquis de conscience, je viens de comparer mon arborescence en prod
et celle de l'archive paheko-1.2.11.tar.gz : les seules différences sont
la présence en prod d'un config.local.php à la racine et de donnée dans
/data.
J'ai aussi essayé de mettre mon répertoire /data sur une extraction
fraîche de paheko-1.3.5.tar.gz, en ajoutant la config ('version',
'1.1.30'), mais j'ai la même erreur RuntimeException "version"
is not a
property of the entity "Paheko\Config". (*Paheko* cette fois).
Mon installation date de mars 2022 (en 1.1.23 ?), et la plus ancienne
sauvegarde est une "pre-upgrade-1.2.6" faite en février 2023. Je ne
crois pas que j'avais fait des màj régulières avant ça. Je suis en
1.2.11 depuis mi-septembre. Et bien-sûr, j'ai foultitude d'écritures et
d'activité depuis tout ce temps ! :-/
Merci
Le 30/12/2023 à 14:02, BohwaZ/Paheko a écrit :
> Il te manque la mise à jour 1.1.31 au moins, peut-être d'autres.
>
> Je te suggère donc de reprendre la sauvegarde faite avant la 1.1.31 et
> de recommencer à partir de cette sauvegarde.
>
> Si tu as fait des modifs depuis cette mise à jour, essaye de modifier
> ta base de données pour forcer les mises à jour :
>
> UPDATE config SET value = '1.1.30' WHERE key = 'version';
>
Ah oui pardon, ça a changé :)
PRAGMA user_version = 1013000;
Le 30/12/2023 à 18:21, BohwaZ/Paheko a écrit :
> Ah oui pardon, ça a changé :)
>
> PRAGMA user_version = 1013000;
Maintenant, j'ai l'erreur suivante :
Exception Error in '1.2.0.sql': table acc_accounts has 9 columns but 10
values were supplied
INSERT INTO acc_accounts SELECT *, CASE WHEN type > 0 AND type <= 8 THEN
1 ELSE 0 END FROM acc_accounts_old;
Est-ce qu'une solution ne serait pas de passer les commandes des
fichiers ".sql" dans include/migrations/ une par une ? (si c'est ce que
les scripts de migration sont censés faire automatiquement).
Laborieux, mais ça pourrait permettre de mieux comprendre ce qui se
passe... Je suis apparemment dans une situation bancale... :-/
Merci
> Est-ce qu'une solution ne serait pas de passer les commandes des
> fichiers ".sql" dans include/migrations/ une par une ? (si c'est
ce
> que les scripts de migration sont censés faire automatiquement).
C'est exactement ce que ça fait de changer user_version, ça dit que ta
base de données et en version 1.1.30, et donc toutes les migrations
sont relancées.
Certaines migrations nécessitent du code PHP également, tout est dans
include/lib/Paheko/Upgrade.php
Donc tu peux essayer ça oui, car je ne sais pas quelles migrations il
te manque, car tu es dans un état particulièrement étrange, il faudrait
à mon avis comparer la structure des tables entre ta version, et la
même version en installation vierge, voir ce qui te manque :)
(Et le contenu de la table config aussi)
Bonsoir,
> Donc tu peux essayer ça oui, car je ne sais pas quelles migrations il
> te manque, car tu es dans un état particulièrement étrange, il faudrait
> à mon avis comparer la structure des tables entre ta version, et la
> même version en installation vierge, voir ce qui te manque :)
>
> (Et le contenu de la table config aussi)
Je me suis retroussé les manches, et j'ai regardé : diff du schéma et de
la table config entre ma base et une base vierge en 1.2.11 (juste une
1re connexion pour créer la table "membres").
Le schéma
---------
$ diff --ignore-blank-lines prod.schema.sql vide.schema.sql
234c246
< CREATE TABLE IF NOT EXISTS "membres"
---
> CREATE TABLE IF NOT EXISTS membres
244a257
> "passe" TEXT COLLATE U_NOCASE,
250,252c263
< "date_naissance" TEXT COLLATE U_NOCASE, -- Date de naissance
< "num_licence" INTEGER, -- Numéro de licence
< "passe" TEXT COLLATE U_NOCASE
---
> "lettre_infos" INTEGER -- Inscription à la lettre
d'information
514c528
< :
---
>
519c533
< CREATE INDEX IF NOT EXISTS users_list_code_postal ON membres
(id_category, code_postal COLLATE U_NOCASE);
---
> CREATE INDEX IF NOT EXISTS users_list_code_postal ON membres
(id_category, "code_postal" COLLATE U_NOCASE);
522c536
< CREATE INDEX IF NOT EXISTS users_list_nom ON membres (id_category, nom
COLLATE U_NOCASE);
---
> CREATE INDEX IF NOT EXISTS users_list_nom ON membres (id_category,
"nom" COLLATE U_NOCASE);
525c539
< CREATE INDEX IF NOT EXISTS users_list_numero ON membres (id_category,
numero);
---
> CREATE INDEX IF NOT EXISTS users_list_numero ON membres (id_category,
"numero");
528c542
< CREATE INDEX IF NOT EXISTS users_list_ville ON membres (id_category,
ville COLLATE U_NOCASE);
---
> CREATE INDEX IF NOT EXISTS users_list_ville ON membres (id_category,
"ville" COLLATE U_NOCASE);
Le ":" apparaît dans ma base de prod juste après la ligne
CREATE INDEX IF NOT EXISTS users_category ON membres (id_category);
=> Je vois le champ lettre_infos en écart, mais ça me semble mineur par
rapport à l'interface qui explose ! Les guillemets sont étonnants, mais
cela ne devrait pas gêner.
La config
---------
$ diff --ignore-blank-lines prod.sql vide.sql|grep "INSERT INTO config"
-A1 -B1
14420c1541,1543
< INSERT INTO config (key, value) VALUES ('nom_asso', 'Tenchi');
---
> INSERT INTO config (key, value) VALUES ('last_chart_change',
'1705258966');
> INSERT INTO config (key, value) VALUES ('nom_asso',
'test');
> INSERT INTO config (key, value) VALUES ('email_asso',
'benoit@friry.net');
14423,14432d1545
< INSERT INTO config (key, value) VALUES ('categorie_membres',
'1');
< INSERT INTO config (key, value) VALUES ('champ_identifiant',
'email');
< INSERT INTO config (key, value) VALUES ('champ_identite', 'nom');
< INSERT INTO config (key, value) VALUES ('site_disabled', '1');
< INSERT INTO config (key, value) VALUES ('adresse_asso', '25 boulevard
de Strasbourg');
< INSERT INTO config (key, value) VALUES ('email_asso',
'tenchi@aikido-paris.org');
< INSERT INTO config (key, value) VALUES ('site_asso',
'https://www.aikido-paris.org');
< INSERT INTO config (key, value) VALUES ('couleur1', '#b40000');
< INSERT INTO config (key, value) VALUES ('couleur2', '#dcdcdc');
< INSERT INTO config (key, value) VALUES ('files',
'{"admin_background":1647769222,"admin_homepage":1647769363,"admin_css":null,"logo":1647769306,"icon":1647768936,"favicon":1647768915}');
14437,14438d1549
Bonjour,
J'ai enfin réussi à mettre à jour mon instance. La solution était
finalement simple : ajouter une ligne à la table config :
key=analytical_set_all, value=1. Avec ça, la migration est passée toute
seule. Mais je ne sais pas dire pourquoi je n'avais pas cette ligne avant.
Benoit
Le 14/01/2024 à 20:37, benoit at friry.net via hebergement a écrit :
> Bonsoir,
>
>> Donc tu peux essayer ça oui, car je ne sais pas quelles migrations il
>> te manque, car tu es dans un état particulièrement étrange, il faudrait
>> à mon avis comparer la structure des tables entre ta version, et la
>> même version en installation vierge, voir ce qui te manque :)
>>
>> (Et le contenu de la table config aussi)
> Je me suis retroussé les manches, et j'ai regardé : diff du schéma et
de
> la table config entre ma base et une base vierge en 1.2.11 (juste une
> 1re connexion pour créer la table "membres").
>
> Le schéma
> ---------
>
> $ diff --ignore-blank-lines prod.schema.sql vide.schema.sql
>
> 234c246
> < CREATE TABLE IF NOT EXISTS "membres"
> ---
> > CREATE TABLE IF NOT EXISTS membres
> 244a257
> > "passe" TEXT COLLATE U_NOCASE,
> 250,252c263
> < "date_naissance" TEXT COLLATE U_NOCASE, -- Date de
naissance
> < "num_licence" INTEGER, -- Numéro de licence
> < "passe" TEXT COLLATE U_NOCASE
> ---
> > "lettre_infos" INTEGER -- Inscription à la lettre
d'information
> 514c528
> < :
> ---
> >
> 519c533
> < CREATE INDEX IF NOT EXISTS users_list_code_postal ON membres
> (id_category, code_postal COLLATE U_NOCASE);
> ---
> > CREATE INDEX IF NOT EXISTS users_list_code_postal ON membres
> (id_category, "code_postal" COLLATE U_NOCASE);
> 522c536
> < CREATE INDEX IF NOT EXISTS users_list_nom ON membres (id_category, nom
> COLLATE U_NOCASE);
> ---
> > CREATE INDEX IF NOT EXISTS users_list_nom ON membres (id_category,
> "nom" COLLATE U_NOCASE);
> 525c539
> < CREATE INDEX IF NOT EXISTS users_list_numero ON membres (id_category,
> numero);
> ---
> > CREATE INDEX IF NOT EXISTS users_list_numero ON membres (id_category,
> "numero");
> 528c542
> < CREATE INDEX IF NOT EXISTS users_list_ville ON membres (id_category,
> ville COLLATE U_NOCASE);
> ---
> > CREATE INDEX IF NOT EXISTS users_list_ville ON membres (id_category,
> "ville" COLLATE U_NOCASE);
>
>
> Le ":" apparaît dans ma base de prod juste après la ligne
> CREATE INDEX IF NOT EXISTS users_category ON membres (id_category);
>
> => Je vois le champ lettre_infos en écart, mais ça me semble mineur par
> rapport à l'interface qui explose ! Les guillemets sont étonnants, mais
> cela ne devrait pas gêner.
>
> La config
> ---------
>
> $ diff --ignore-blank-lines prod.sql vide.sql|grep "INSERT INTO
config"
> -A1 -B1
>
> 14420c1541,1543
> < INSERT INTO config (key, value) VALUES ('nom_asso',
'Tenchi');
> ---
> > INSERT INTO config (key, value) VALUES ('last_chart_change',
> '1705258966');
> > INSERT INTO config (key, value) VALUES ('nom_asso',
'test');
> > INSERT INTO config (key, value) VALUES ('email_asso',
> 'benoit@friry.net');
> 14423,14432d1545
> < INSERT INTO config (key, value) VALUES ('categorie_membres',
'1');
> < INSERT INTO config (key, value) VALUES ('champ_identifiant',
'email');
> < INSERT INTO config (key, value) VALUES ('champ_identite',
'nom');
> < INSERT INTO config (key, value) VALUES ('site_disabled',
'1');
> < INSERT INTO config (key, value) VALUES ('adresse_asso', '25
boulevard
> de Strasbourg');
> < INSERT INTO config (key, value) VALUES ('email_asso',
> 'tenchi@aikido-paris.org');
> < INSERT INTO config (key, value) VALUES ('site_asso',
> 'https://www.aikido-paris.org');
> < INSERT INTO config (key, value) VALUES ('couleur1',
'#b40000');
> < INSERT INTO config (key, value) VALUES ('couleur2',
'#dcdcdc');
> < INSERT INTO config (key, value) VALUES ('files',
>
'{"admin_background":1647769222,"admin_homepage":1647769363,"admin_css":null,"logo":1647769306,"icon":1647768936,"favicon":1647768915}');
> 14437,14438d1549
>
À mon avis une migration qui n'a pas fonctionné correctement, mais
pourquoi, je ne sais pas, probablement un problème de disque du côté de
ton hébergeur ?
Cool que tu ait pu régler le souci :)