Just finished migrating my website from SQLite to MySQL. What a rush. (lol)
It was actually not as bad as I thought. A lot of sed, grep and other sorcery involved; especially in transforming of SQLite statements to MySQL.
Some quick commands I used:
sqlite techish.db .dump > production_2018-08-23.dump.sql
I found that it used quotes for tables and column names, so I had to remove those first and foremost.
sed -i '/INSERT INTO/,/VALUES (/s/"//g' production_2018-08-23.dump.sql
Next I found that there was an error using
mysql -ufoo -p mynewdatabase < production_2018-08-23.dump.sql because the table creations were failing still. So I did a quick fresh install of a vanilla WordPress install, did a dump of the database and just grabbed the table creation parts out:
Dump fresh database:
mysqldump -ufoo -p wordpres > wordpress.sql
Next, I just want table creations…
awk '/CREATE TABLE/, /) ENGINE/' wordpress.sql > create_tables.sql
Next, run create_tables.sql on my new database and then import data.
mysql -ufoo -p mynewdatabase < create_tables.sql
Sweet, that worked and I have a baseline of tables now.
Now importing the data…