# 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