[Résolu] Upgrade error of Lufi / souci d'upgrade de Lufi

Tu es très près du but.

  • Pour ouvrir une session Postgresql, la commande donnée par @otm33 est:
  • tu devrais arriver dans la ligne de commande de Postgresql/

  • La doc est ici:

  • la commande suivante consiste à passer de la version 7 à la 6, comme expliqué dans le lien GitLab:

UPDATE mojo_migrations SET version = 6;

Puis ensuite;

ALTER TABLE invitations RENAME COLUMN auth_user TO ldap_user;

ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;

Où est le problème?

Pardon, j’ai répondu viteuf…

J’ai bien réussi à faire le job (enfin, je pense !) (et merci à vous pour les pistes, que dis-je, les tutos même !) pour les mises à jour de PostgreSQL

sudo -u postgres psql lufi
psql (15.14 (Debian 15.14-0+deb12u1))
Type "help" for help.

lufi=# UPDATE mojo_migrations SET version = 6;
UPDATE 1
lufi=# ALTER TABLE invitations RENAME COLUMN auth_user TO ldap_user;
ALTER TABLE
lufi=# ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;
ALTER TABLE
lufi=# exit

mais le résultat reste identique in fine : https://paste.yunohost.org/raw/tunavamige

Que donne la commande SQL

SELECT * from mojo_migrations ;

ah bah voui, c’est pas le résultat attendu …

    SELECT * from mojo_migrations ;
    name    | version 
------------+---------
 migrations |       7
(1 row)

Peux-tu essayer:

sudo -u postgres psql lufi -c  'UPDATE mojo_migrations SET version = 6;'
sudo -u postgres psql lufi -c  'SELECT * from mojo_migrations ;'

ah, au moins, c’est raccord maintenant !

sudo -u postgres psql lufi -c  'UPDATE mojo_migrations SET version = 6;'
UPDATE 1

sudo -u postgres psql lufi -c  'SELECT * from mojo_migrations ;'
    name    | version 
------------+---------
 migrations |       6
(1 row)

Je tente de relancer les commandes précédentes et une mise à jour !

donc je lance cette commande :

sudo -u postgres psql lufi -c 'ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;'

j’obtiens :

ALTER TABLE

Je vérifie ce que ça donne :

token | ldap_user | ldap_user_mail | guest_mail | created_at | expire_at | files_sent_at | expend_expire_at | files | show_in_list | deleted 
-------+-----------+----------------+------------+------------+-----------+---------------+------------------+-------+--------------+---------
(0 rows)

OK, c’est vide, c’est legit, mais les entêtes ont bien été renommés…

On croise les doigts :crossed_fingers: et on va voir ce que donne une mise à jour maintenant !

Same player play again …
Donc pas mieux :confused:

Et -par curiosité- si tu vérifies la version de migrations maintenant, ça donne toujours 6 ?

Hummm, je sens que tu tiens un truc !

sudo -u postgres psql lufi -c  'SELECT * from mojo_migrations ;'

    name    | version 
------------+---------
 migrations |       7
(1 row)

Hélas, ça m’étonnerait, c’est trop peu probable…
On va quand même tenter : peux-tu lancer sudo -u postgres psql lufi -c '\set' et poster le contenu de la ligne commençant par AUTOCOMMIT ?

???

sudo -u postgres psql lufi -c '\set'

AUTOCOMMIT = 'on'

Perdu…

Je pense que apres telechargement de la nouvelle version de lufi, un script fait la migration de la base de donnees version 7 avant de lancer le service.
Il faut forcer YNH pour ne pas revenir en arriere apres ce telechargement.

Thu, 8 Jan 2026 21:33:08 +0000, otm33 via YunoHost Forum a écrit :

fichtre :stuck_out_tongue:

C’est ça qui est curieux car il me semble avoir compris que les migrations s’arrêtaient à la version 6.
D’un autre côté, la version 0.07.2 est reconnue comme un “wrong commit”.
@Jeey Y aurait-il quelque chose en lien avec une éventuelle version 7 dans /var/www/lufi/utilities/migrations/pg.sql?

j’ai pas super l’impression

more pg.sql 
-- 1 up
CREATE TABLE IF NOT EXISTS files (
    short                text PRIMARY KEY,
    deleted              boolean default false,
    mediatype            text,
    filename             text,
    filesize             integer,
    counter              integer default 0,
    delete_at_first_view boolean,
    delete_at_day        integer,
    created_at           integer,
    created_by           text,
    last_access_at       integer,
    mod_token            text,
    nbslices             integer,
    complete             boolean default false,
    passwd               text
);

CREATE TABLE IF NOT EXISTS slices (
    short text        NOT NULL REFERENCES files(short) ON DELETE CASCADE,
    j     integer     NOT NULL,
    path  text unique NOT NULL,
    constraint slice_short_j UNIQUE (short, j)
);
-- 1 down
DROP TABLE slices;
DROP TABLE files;
-- 2 up
ALTER TABLE files ADD COLUMN abuse integer;
-- 2 down
ALTER TABLE files DROP COLUMN abuse;
-- 3 up
ALTER TABLE files ADD COLUMN zipped boolean default false;
-- 3 down
ALTER TABLE files DROP COLUMN zipped;
-- 4 up
CREATE TABLE IF NOT EXISTS invitations (
       token                 text PRIMARY KEY,
       ldap_user             text,
       ldap_user_mail        text,
       guest_mail            text,
       created_at            integer,
       expire_at             integer,
       files_sent_at         integer,
       expend_expire_at      integer,
       files                 text,
       show_in_list          boolean,
       deleted               boolean
);
-- 4 down
DROP TABLE invitations;
-- 5 up
ALTER TABLE files ALTER COLUMN filesize TYPE bigint;
-- 5 down
ALTER TABLE files ALTER COLUMN filesize TYPE integer;
-- 6 up
ALTER TABLE slices ALTER COLUMN path DROP NOT NULL;
ALTER TABLE slices DROP CONSTRAINT slices_path_key;
-- 6 down
ALTER TABLE slices ADD CONSTRAINT slices_path_key UNIQUE (path) ;
ALTER TABLE slices ALTER COLUMN path SET NOT NULL;
-- 7 up
ALTER TABLE invitations RENAME COLUMN ldap_user TO auth_user;
ALTER TABLE invitations RENAME COLUMN ldap_user_mail TO auth_user_mail;
-- 7 down
ALTER TABLE invitations RENAME COLUMN auth_user TO ldap_user;
ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;

Après, je peux aussi juste lâcher l’affaire, installer la version 0.7.3 et refaire les quelques partages que j’ai identifié (pas sûr qu’on soit 150 à utiliser le service, mais j’aime pas trop ça quand même…)

Bon, tu as une sauvegarde fonctionnelle ?
Si oui, enlève

-- 7 up
ALTER TABLE invitations RENAME COLUMN ldap_user TO auth_user;
ALTER TABLE invitations RENAME COLUMN ldap_user_mail TO auth_user_mail;
-- 7 down
ALTER TABLE invitations RENAME COLUMN auth_user TO ldap_user;
ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;

puis refais

sudo -u postgres psql lufi -c  'UPDATE mojo_migrations SET version = 6;'

Et relance l’upgrade.

j’en prépare une et je fais ça

(merci encore, hein !)

Ne pas oublier

lufi=# ALTER TABLE invitations RENAME COLUMN auth_user TO ldap_user;
ALTER TABLE
lufi=# ALTER TABLE invitations RENAME COLUMN auth_user_mail TO ldap_user_mail;
ALTER TABLE