After checking out the “latest and greatest” I have landed a pretty severe problem as reported here: Login broken in latest revision – users can not log in anymore. In order to get my forum up again I obviously try to find an elegant way to “downgrade”. What is the recommended way to rebuild a container using an older version of Discourse? Is that even supported? In my case I would want to go back from 0.9.9.14 to 0.9.9.13, i.e. to a certain git revision or tag.
You should be able to use the
params/version field in app.yml, i.e. something like this:
[...] expose: - "80:80" # fwd host port 80 to container port 80 (http) - "2222:22" # fwd host port 2222 to container port 22 (ssh) - "443:443" params: # git revision to run version: v0.9.9.13 env: # comma-separated emails [...]
and then do the regular
./launcher rebuild app or destroy, bootstrap, start sequence manually.
Downgrading is not supported, if you database has migrated forward there are no guarantees it will work on an older version of the code.
So this assumes people have a historic backup of the db on that day? If automatic daily backups in Discourse are enabled, they will. So they do have an older db they could roll back to somehow if need be.
If we know what we were running the day before… Which we currently don’t unless we take special care since only the version number is shown in the admin UI, but running version X really means some random commit between the tag X and the tag X+1? Or are migrations only performed at version changes?
Migrations are performed arbitrarily, there are no hard rules. Sometimes we run 0 in a week, sometimes 10.