Deploy MySQL Plugin Migration
Migrate from a legacy MySQL plugin to a V2 database service
mysql migration
Just deployed
Service that will migrate data from a legacy MySQL plugin to a V2 database service.
Required Variables
PLUGIN_URL: The MySQL URL of the legacy plugin. This is used as the source database.NEW_URL: The MySQL URL of the V2 database service. This is used as the destination.
Process
- Validates that all the variables are provided
- Validates that the destination MySQL database is empty
- Dumps all the data from the source database
- Restores all the data from the destination
No data is ever deleted from the plugin. You should delete the plugin manually after confirming that the migration was successful
View the migration script here
Caveats
- You should manually update your application to point to the new V2 database service
- You should stop writing to the Redis plugin while the migration is in progress to avoid data not being migrated
If you want to avoid egress charges, you should use the new database service MYSQL_PRIVATE_URL
Template Content
mysql migration
ghcr.io/railwayapp-templates/mysql-plugin-migration:latestNEW_URL
The MYSQL_URL of the V2 database service to migrate the data to
PLUGIN_URL
The MYSQL_URL of the plugin to migrate the data from. _Hint: use ${{ MySQLPlugin.MYSQL_URL }}
