0

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

4

1 回答 1

0

看起来重命名您的 .sqlite3 文件应该可以工作。确保您已重新启动服务器,并且服务器在正确的环境中运行。如果将这两个 .sqlite3 文件移动到完全不同的文件夹中,然后重新启动服务器,则会出现错误。如果没有,您的服务器没有正确重新启动 - 杀死所有 ruby​​ 进程并重试。

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

rake db:data:dump

交换数据库配置(或者迁移一个新的数据库文件,或者改变你的开发环境,无论你需要做什么来激活一个空的但结构化的数据库),然后:

rake db:data:load
于 2012-04-11T13:13:24.660 回答