Migration
All steps below are required unless otherwise stated. Please follow them in the correct order.
From v7.*
to v8.*
Upgrade the server to
v7.16.0
to make sure allv7
migrations are applied. For example, you can make this change:image: "ignisda/ryot:v7.16.0"
in your docker-compose file.Create a backup of your database. Here is a guide on how to do this.
Now you can upgrade to the latest version (
v8.*
). For example you can make this change:image: "ignisda/ryot:v8"
in your docker-compose file. This will automatically apply all migrations required for the new version.OPTIONAL: Login as the admin user and go to the "Miscellaneous" settings page and click on the button to "Perform background tasks".
From v6.*
to v7.*
Upgrade the server to
v6.11.0
to make sure allv6
migrations are applied. For example, you can make this change:image: "ignisda/ryot:v6.11.0"
in your docker-compose file.Create a backup of your database. Here is a guide on how to do this.
Now you can upgrade to the latest version (
v7.*
). For example you can make this change:image: "ignisda/ryot:v7"
in your docker-compose file. This will automatically apply all migrations required for the new version.Login as the admin user and go to the "Miscellaneous" settings page and click on the button to "Perform background tasks".
From v5.*
to v6.*
Integrations deleted
All integrations will need to be recreated. Please take a look at the docs for the new webhook format.
Upgrade the server to
v5.5.6
to make sure allv5
migrations are applied. For example, you can make this change:image: "ignisda/ryot:v5.5.6"
in your docker-compose file.Create a backup of your database. Here is a guide on how to do this.
Now you can upgrade to the latest version (
v6.*
). For example you can make this change:image: "ignisda/ryot:latest"
in your docker-compose file. This will automatically apply all migrations.
From v4.*
to v5.*
Upgrade the server to
v4.4.3
to make sure allv4
migrations are applied. For example, you can make this change:image: "ignisda/ryot:v4.4.3"
in your docker-compose file.Create a backup of your database. Here is a guide on how to do this.
Now you can upgrade to the latest version (
v5.*
). For example you can make this change:image: "ignisda/ryot:latest"
in your docker-compose file. This will automatically apply all migrations.
From v3.*
to v4.*
Webhook URL changes
If you were using Plex, Jellyfin or Kodi, all webhooks urls will now have the /backend
prefix. Please take a look at the integration docs for the new format.
Upgrade the server to
v3.5.4
to make sure all pending migrations are applied. For example, you can make this change:image: "ignisda/ryot:v3.5.4"
in your docker-compose file.Go to the "Preferences" settings, then the "General" tab, and click on "Disable yank integrations" twice. This will ensure that latest preferences have been applied.
Go to the "Miscellaneous" settings and click on "Re-evaluate workouts".
Next, click on the button to "Clean and regenerate" your summary. This takes time if you have a lot of media. Go to the dashboard and check the time under the "Summary" section. It should say "Calculated just now".
Logout and then clear the local storage and cookies for your domain. Here is a guide on how to do this. Uninstall the PWA if you have it installed.
Create a backup of the database.
Connect to the database (
docker exec -u postgres -it ryot-db psql
) and run these SQL queries:sqlDELETE FROM seaql_migrations; INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230410_create_metadata', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230413_create_person', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230417_create_user', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230419_create_seen', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230501_create_metadata_group', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230502_create_genre', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230504_create_collection', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230505_create_review', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230509_create_import_report', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230622_create_exercise', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230804_create_user_measurement', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230819_create_workout', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230901_create_partial_metadata', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230912_create_calendar_event', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231003_create_partial_metadata_to_person', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231016_create_collection_to_entity', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231017_create_user_to_entity', 1697640078);
Now you can upgrade to the latest version (
v4.*
) safely. For example you can make this change:image: "ignisda/ryot:latest"
in your docker-compose file.
From v2.*
to v3.*
Upgrade the server to
v2.24.2
to make sure all pending migrations are applied.Go to the "Miscellaneous" settings and click on the button to "Clean and regenerate" your summary. This takes time if you have a lot of media. Go to the dashboard and check the time under the "Summary" section. It should say "Calculated just now".
Go to the "Preferences" settings, then the "General" tab, and click any switch button twice to make sure the latest settings have been applied.
Stop the running server and create a backup of your database.
Connect to the database and run these SQL queries:
sqlDELETE FROM seaql_migrations; INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230410_create_metadata', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230413_create_person', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230417_create_user', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230419_create_seen', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230502_create_genre', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230505_create_review', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230507_create_collection', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230509_create_import_report', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230622_create_exercise', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230804_create_user_measurement', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230819_create_workout', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230901_create_metadata_group', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230901_create_partial_metadata', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230912_create_calendar_event', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231003_create_partial_metadata_to_person', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231016_create_collection_to_entity', 1697640078); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20231017_create_user_to_entity', 1697640078);
Now you can upgrade to the latest release safely.
From v1.*
to v2.*
Stop the running server and create a backup of your database.
Run the last release of the server to perform all migrations (make sure to connect it to the correct database).
bash$ docker run --volume ./ryot/data:/data ignisda/ryot:v1.22.1
Once the migrations from the above step are done, stop the server.
Before upgrading to the public release, connect to the database again and run these migrations:
sqlDELETE FROM seaql_migrations; INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230410_create_metadata', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230412_create_creator', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230417_create_user', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230419_create_seen', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230502_create_genre', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230505_create_review', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230507_create_collection', 1684693316); INSERT INTO seaql_migrations (version, applied_at) VALUES ('m20230509_create_import_report', 1684693316);
Now you can upgrade to the latest release safely.
OPTIONAL: Once you have the new server up and running, go to the "Miscellaneous" settings page and click on the button to "Update All Metadata".