June 2, 2020 13:03
What happended?
Well, quick and simple: I needed to migrate my Solder service for the Technic Launcher to an other database backend for several reasons. One main reason was, that
the current hoster of it planned to shutdown some deprecated PHP versions - but Solder does not support the sqlite
database for newer PHP versions anymore. So
I needed to switch the database solution (without loosing too much data, because the instance houses several hundert modification at the time) right now.
How did I proceed?
As first: Solder does not support this at all! Make sure to have backups and experiment with them first. Never touch production until you are ready! I started by downloading the current database file and tried to open it with PHPLiteAdmin, but the exports of that web interface where not compartible with the PHPMyAdmin instance of MariaDB I planned to migrate to.
So I installed an local XAMPP instance and used Full Convert to copy the needed data into it. Also make sure to use
a non-trail version, otherwise some random fields will be replaced with TESTTESTTEST
! Then I was able to export the database from PHPMyAdmin of XAMPP to a .sql
file for my hoster.
But sqlite
does handle DATETIME
fileds other than MariaDB does: Before uploading the migrated and exported database I needed to apply
the following RegEx-Replace to the sql-instruction file: (\d\d)/(\d\d)/(\d\d\d\d)
-> $3-$2-$1
. Additionally, after visting the webinterface, I noted that all
my builds and modpacks have been switched to private again (because the isPrivate
field contaned the string False
, which equals to true
!) - and I needed to fix that
by hand. Maybe it would be helfpul to also replace all False
instances with 0
and for True
accordingly. But that you have to figure out on your own 😋.
I hope this saved you some hours of trail-and-error…