我建立了一个新的Ghost 0.4博客,创建了大量帖子,然后在设置网站之前切换到生产模式。令我惊讶的是,我创建的帖子不再出现了。自从设置Ghost 0.3.3以来,我忘记了Ghost为生产和开发环境使用了单独的数据库存储,但在创建内容之前我没能切换到生产模式。
如何将内容从Ghost的开发环境迁移到其生产环境?
答案 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')