Rails:将生产MySQL中的数据复制到开发SQLite3中

时间:2011-12-07 18:24:20

标签: ruby-on-rails-3

我无法将数据从生产MySQL服务器复制到开发SQLite3文件(因此我可以在开发计算机上使用真实数据)。我已经找到了关于如何从MySQL转换为SQLite3的网络上的大量资源,其中大部分都是带有精心设计的sed过滤器的bash脚本,但都没有用(最常见的问题是导入时的语法问题)。

无论如何,我偶然发现YamlDB,我想“为什么,当然!让Rails为我做转换!”好吧,这也不起作用,因为所有的NULL字段(在YAML文件中表示为!!null)最终被导入到SQLite3数据库中,完全是“--- !! null”而不是实际空值。我似乎是唯一遇到此问题的人,因为在GitHub问题队列中没有提及它。

我甚至尝试过使用syck而不是psych(在this SO question中找到)的解决方法,但它没有任何区别。

所以我的问题是:无论数据库类型如何,任何人都知道从一个rails数据库导出数据以便导入到另一个数据库的简单方法吗?而“简单”,我指的是控制台上的一些命令,或者其他什么。

1 个答案:

答案 0 :(得分:2)

查看点击@ http://github.com/ricardochimal/taps

它会将您的MySQL数据库转储到本地sqlite数据库中,并且使用起来相对简单。

来自评论:如果您收到错误说明schema parsing returned no columns, table probably doesn't exist,那么您需要指定sqlite3 db的绝对路径而不是相对的