Ghost CMS kullanılarak hazırlanmış bir web sitesinde kullanılan veritabanını değiştirmek sistemin bize verdiği esneklik sayesinde çok kolay, kendimi SQLite kullanırken pek fazla güvende hissetmediğim için bu göçü yapacağım. Gelin hep birlikte nasıl yapılacağına bir göz atalım.
Ghost admin paneline bağlanıyorsunuz ve göç seçeneklerine giriş yapıyorsunuz.
“Export your content” seçeneğini seçiyorsunuz ve sitenizde yer alan ayarlar dahil bütün içeriği tek bir json dosyası olarak bilgisayarınıza indiriyorsunuz. Ardından MySQL üzerinde Komut Satırı ile MySQL Kullanıcı Oluşturma makalesini kullanarak yeni bir kullanıcı ve veritabanı oluşturuyorsunuz.
Config dosyanızda yer alan aşağıdaki satırları
"database": {
"client": "sqlite3",
"connection": {
"filename": "content/data/ghost.db"
},
"useNullAsDefault": true,
"debug": false
}
MySQL özelinde aşağıdaki satırlar ile değiştiriyorsunuz.
"database": {
"client": "mysql",
"connection": {
"host": "127.0.0.1",
"port": 3306,
"user": "your_database_user",
"password": "your_database_password",
"database": "your_database_name"
}
}
Ardından Ghost CMS çalıştırdığınız servisi yeniden başlatmanız gerekiyor.
systemctl restart ghost
Artık sistem sıfırdan yeni bir ghost kurulumu yapılmış gibi başlayacak, burada yapmanız gereken yeni bir admin kullanıcısı oluşturmak. Ardından lab menüsüne gidin ve direk olarak “Delete all content” seçeneğini seçin, ön tanımlı gelen bütün yazıları kaldıracak.
Daha sonra tekrar lab alanından eski export ettiğiniz json dosyasını import etmeniz yeterli. Bütün içerikleriniz ve ayarlarınız eski yerlerine gelecek. Medya dosyalarını taşımadığımız içinde yerli yerinde olması gerekiyor. Yeni sunucuya kuracaksanız o zaman iş değişir.