如何在开发和生产环境之间迁移Ghost博客内容?

时间:2014-01-16 18:29:27

标签: ghost-blog

我建立了一个新的Ghost 0.4博客,创建了大量帖子,然后在设置网站之前切换到生产模式。令我惊讶的是,我创建的帖子不再出现了。自从设置Ghost 0.3.3以来,我忘记了Ghost为生产和开发环境使用了单独的数据库存储,但在创建内容之前我没能切换到生产模式。

如何将内容从Ghost的开发环境迁移到其生产环境?

2 个答案:

答案 0 :(得分:16)

Ghost使用SQLite数据库,它将内容存储在每个内容的单个文件中,因此可以一次性备份,移动或复制整个数据库。

要解决仅在我的开发数据库中发帖的问题,我只需关闭Ghost,并切换生产和开发SQLite数据库文件。这些文件存储在Ghost content/data子文件夹中:

  • ghost-dev.db是开发数据库
  • ghost.db是生产数据库

如果您在Ghost文件夹中,以下命令将交换两个环境数据库:

$ mv content/data/ghost-dev.db content/data/ghost-dev.db-tmp
$ mv content/data/ghost.db content/data/ghost-dev.db
$ mv content/data/ghost-dev.db-tmp content/data/ghost.db

在任一模式下重启Ghost以查看更改。

将所有内容从开发复制到生产更加容易:

$ cp content/data/ghost-dev.db content/data/ghost.db

答案 1 :(得分:2)

更改此行为的一种简单方法是选择将相同的数据库用于生产和开发。

修改开发中的config.js:数据库:连接

中的以下行
filename: path.join(__dirname, '/content/data/ghost-dev.db')

filename: path.join(__dirname, '/content/data/ghost.db')