change database of ghost blog
最初に書いておくと、一番楽チンでダウンタイムも少ないであろう、
sqliteからデータをダンプして、mysqlのダンプに変換する方法は諦めたorz
SQLiteからMySQLへデータのマイグレーション(変換)|DB|ブログ|ノノログで紹介されていたPythonのスクリプトを使ってみたんだけど、だめだった
※ ちなみにghostのdbはデフォルトでsqlite3を使っていて、ghost/content/data/ghost.db
にある
ghostには記事や設定のエクスポート機能があるので、この機能を使う
流れは以下
- 記事をエクスポートする
- ghostの設定をmysqlを使うように書き換えてghost再起動
- まっさらなghostにエクスポートしたファイルをインポート
当然ghost再起動した段階で初期状態になってしまうのでダウンタイムになるけどまあ個人ブログだし妥協
設定の書き換え
ghost/config.js
を以下のように修正(元の設定をコメントアウトしてmysqlの設定を追加している)
production: {
...
//database: {
// client: 'sqlite3',
// connection: {
// filename: path.join(__dirname, '/content/data/ghost.db')
// },
// debug: false
//},
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : '<db username>',
password : '<db password>',
database : '<db name>',
charset : 'utf8'
}
},
...
}
上の変更した後ghost再起動
ユーザー登録 orz
当然まっさらなのでログインも出来ない
しょうがないのでユーザー登録してログイン
設定のlabからインポート
だけどblogのロゴとかヘッダとかプロフィール消えてるので書き直す
記事のヘッダ画像や内容はちゃんと残っていた
まとめ
最初からRDBで動かそう!!!!!!(泣)