如何将.sqlite3文件中的数据加载到Ruby on Rails应用程序

时间:2012-04-11 12:43:33

标签: ruby-on-rails ruby sqlite

我有一个production.sqlite3文件,我想将其数据导入当前的rails项目,数据库模式在文件和我当前的项目之间是匹配的。我确实将内容复制到development.sqlite3文件,但这不起作用。我知道将数据插入数据库的唯一方法是加载一些yml文件或使用seed命令。是否有任何魔术命令或其他方法让rails从.sqlite文件加载数据?因为根据我的内容,rails的行为是它只在你执行rake db:create& migrate时才创建.sqlite3文件,但它会忽略该文件中发生的手动更改。请帮忙!

1 个答案:

答案 0 :(得分:0)

看起来重命名.sqlite3文件应该可行。确保已重新启动服务器,并且服务器正在正确的环境中运行。如果将.sqlite3文件移动到完全不同的文件夹中,并重新启动服务器,则应该发生错误。如果没有,您的服务器没有正确重启 - 终止所有ruby进程并重试。

在回答有关迁移数据的问题时,我最近遇到了类似的问题,我不得不从sqlite3迁移到mysql。我找到的最佳解决方案是yaml_db。它似乎完美地完成了工作 - 将它添加到项目中,然后执行

rake db:data:dump

交换数据库配置(或迁移新的数据库文件,或更改开发环境,无论您需要做什么才能使空的结构化数据库处于活动状态),然后:

rake db:data:load