如何安全地'在Rails中备份SQLite3?

时间:2015-01-25 03:41:44

标签: ruby-on-rails activerecord sqlite database-backups sqlite3-ruby

我目前正在使用Rails开发一个小规模的Web应用程序,并且一直在寻找保持数据库备份的最佳方法。我决定将SQLite3用于数据库,因为它足够小,有意义(理想情况下,网站几乎没有任何流量),但由于应用程序需要24/7全天候按需访问,我想要确保任何备份方法都不会中断太多事情。

我在网上找到了一些旧的资源,建议只复制数据库文件,但是如果在复制发生时写入文件,则会出现明显的锁定问题。 SQLite内置的.backup命令似乎就是我要避免的,但我似乎找不到从Rails中正确触发的方法。使用ActiveRecord connection.execute('.backup')不起作用,因为它不是有效的SQL语法,虽然有appropriate methods to call the backup from inside the SQLite3 gem,但我不确定是否可以从ActiveRecord中获取该对象级别?

我可以设置一个运行sqlite命令行工具并执行备份命令的cron作业/脚本,但我担心与Rails服务器同时运行仍然可能会出现并发问题?

0 个答案:

没有答案