Upgrading GROWI to v3.6.x

GROWI v3.6 no longer supports Node.js v8.

v3.5 or below has the bug(weseek/growi#1361 (opens new window)) that generate two databases wrongly.

Node.js v8 is no longer supported

TIP

Systems that are launched by the official docker image (opens new window) will not be affected

Upgrade Node.js

  1. Upgrade Node.js to v10 or v12

Avoid weseek/growi#1361 (opens new window)

WARNING

This problem is caused in the situation that using MONGO_URI with parameters of the form ?key=value.

Upgrade anyway

  • Upgrade as usual
  • Effects
    • The cumulative migration so far will run again
    • There should be no problem in design, but inconsistent data may be rewritten

Upgrade safely

  • Transplant migrations collection. Run following process in your shell that is able to use mongodump and mongorestore. Replace {dbname} and {dbname?key=value} according to your environment.
    mongodump -d {dbname?key=value} -c migrations -o backup
    
    mongorestore -d {dbname} -c migrations "./backup/{dbname?key=value}/migrations.bson"
    
  • Drop unnecessary DB. Run following process in your mongo shell. Replace {dbname?key=value} according to your environment.
    use {dbname?key=value}
    db.dropDatabase()
    

Check before upgrading

  • MONGO_URI has parameters of the form ?key=value
  • MongoDB has a database which name has parameters of the form ?key=value