Problème mise à jour vers peertube-6.3.0

Bonjour, d’habitude je n’ai aucun problème pour mettre à jour peertube, mais là ça coince pour la version 6.3.0 (j’ai la 6.2.1 actuellement).

En soi la mise à jour fonctionne bien avec ./upgrade.sh mais la commande :
sudo -u peertube NODE_CONFIG_DIR=/srv/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-6.3.js

me donne l’erreur suivante :

Error                
    at Query.run (/srv/peertube/versions/peertube-v6.3.0/node_modules/sequelize/lib/dialects/postgres/query.js:50:25)
    at /srv/peertube/versions/peertube-v6.3.0/node_modules/sequelize/lib/sequelize.js:315:28
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async run (file:///srv/peertube/versions/peertube-v6.3.0/dist/scripts/migrations/peertube-6.3.js:22:21) {
  name: 'SequelizeDatabaseError',
  parent: error: column "formatFlags" does not exist
      at Parser.parseErrorMessage (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:283:98)
      at Parser.handlePacket (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:122:29)
      at Parser.parse (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:35:38)
      at Socket.<anonymous> (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/index.js:11:42)
      at Socket.emit (node:events:519:28)                                                                                                                                                    
      at addChunk (node:internal/streams/readable:559:12)                                                                                                                                    
      at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)                                                                                                                 
      at Readable.push (node:internal/streams/readable:390:5)                                                                                                                                
      at TCP.onStreamRead (node:internal/stream_base_commons:191:23) {
    length: 111,                                                                              
    severity: 'ERROR',                                                                        
    code: '42703',                                                                            
    detail: undefined,                                                                        
    hint: undefined,
    position: '77',   
    internalPosition: undefined,
    internalQuery: undefined,
    where: undefined,
    schema: undefined,
    table: undefined,           
    column: undefined,       
    dataType: undefined,
    constraint: undefined,
    file: 'parse_relation.c',
    line: '3722',     
    routine: 'errorMissingColumn',
    sql: 'SELECT COUNT(*) AS "total" FROM "videoFile" WHERE "videoId" IS NOT NULL AND "formatFlags" != 1',
    parameters: undefined    
  },             
  original: error: column "formatFlags" does not exist
      at Parser.parseErrorMessage (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:283:98)
      at Parser.handlePacket (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:122:29)
      at Parser.parse (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/parser.js:35:38)
      at Socket.<anonymous> (/srv/peertube/versions/peertube-v6.3.0/node_modules/pg-protocol/dist/index.js:11:42)
      at Socket.emit (node:events:519:28)
      at addChunk (node:internal/streams/readable:559:12)
      at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
      at Readable.push (node:internal/streams/readable:390:5)
      at TCP.onStreamRead (node:internal/stream_base_commons:191:23) {
    length: 111,
    severity: 'ERROR',
    code: '42703',
    detail: undefined,
    hint: undefined,
    position: '77',
    internalPosition: undefined,
    internalQuery: undefined,
    where: undefined,
    schema: undefined,
    table: undefined,
    column: undefined,
    dataType: undefined,
    constraint: undefined,
    file: 'parse_relation.c',
    line: '3722',
    routine: 'errorMissingColumn',
    sql: 'SELECT COUNT(*) AS "total" FROM "videoFile" WHERE "videoId" IS NOT NULL AND "formatFlags" != 1',
    parameters: undefined
  },
  sql: 'SELECT COUNT(*) AS "total" FROM "videoFile" WHERE "videoId" IS NOT NULL AND "formatFlags" != 1',
  parameters: {}
}

En effet, je n’ai pas de colonne formatFlags dans la table videoFile mais je ne sais pas pourquoi ni comment la créer et la peupler proprement.

Merci d’avance pour votre aide pour résoudre de souci.

Il faut avoir redémarré PeerTube en 6.3.0 et attendre l’exécution des migrations (dans les logs de démarrage de l’instance) qui peuvent prendre un certain temps :

info: Using following configuration file hierarchy: ...
info: Begin migrations.
info: Executing 0865-video-file-streams.js migration script.
info: Migrations finished. New migration version schema: 865

Je vais ajouter une note dans le changelog

C’était donc ça… merci beaucoup. J’ai dû mettre les logs en level info sinon je ne savais pas quand la migration serait finie. Tout fonctionne correctement, merci encore, c’est parfait. Et surtout merci pour ce merveilleux logiciel :wink:

Bonne soirée !