我正在使用Yesod编写我的第一个应用程序,并且我已将其应用到可以运行的状态,但我想继续添加一些小东西。到目前为止,每次通过交换新包重新部署keter时,都会为该应用程序重新创建数据库。如何在没有这种效果的情况下重新部署?我对postgres不太熟悉,所以解决方法也很棒。
编辑:我也用SQLite搭建它,如果这有所不同。我一直在寻找,但仍然无法弄清楚这一点。
答案 0 :(得分:1)
与接受的答案相反,您实际上可以这样做。在sqlite.yml配置中,您只需将路径设置为它有权访问的位置。
我目前的设置是,我在/opt/keter/database
创建了一个文件夹,然后我的生产配置是,
Production:
database: /opt/keter/database/HsCMS_production.sqlite3
poolsize: 100
<<: *defaults
这将使数据库在部署中保持持久性。您应该知道何时更改数据库,它仍然需要进行迁移。
答案 1 :(得分:0)
我最终得出的答案是,如果它是Sq-lite的脚手架,我无法保留数据。