Migration
All steps below are required unless otherwise stated. Please follow them in the correct
order. Please make sure to replace ryot
with ryot-pro
if you are using the pro version.
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 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:DELETE 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:
DELETE 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).
$ 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:
DELETE 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".