我使用yaml_db gem来创建mySQL数据库的转储文件,以便与SQLite一起使用,但是这是一个完整的数据库导出,我希望导出特定表的数据。
command = rake db:data:dump另一种使用方式
command:-mysqldump -uroot db_name table_name > db/database.yml这些命令对我有用,但它们不能生成正确的SQLite格式。我认为生成的格式是SQL。
如何将MySQL转储转换为SqLite。
发布于 2014-11-06 14:02:48
因为yaml_db gem在db级别工作,所以它有一些函数,允许只加载一个表。
我编写了一个补丁,它添加了一个只下载一个表的方法。只需将这些代码放在config/initializers/yaml_db_extras.rb
module YamlDb
class Dump < SerializationHelper::Dump
def self.dump_table_to_file(filename, table)
file = File.new("#{filename}.yml", 'w')
dump_table_columns(file, table)
dump_table_records(file, table)
end
end
end然后像这样使用:YamlDb::Dump.dump_table_to_file('db/dump_users','users'),然后您可以使用转储文件在其他使用yaml_db gem的应用程序中只加载所选的表。如果您在目标应用程序中将dowload文件命名为db/data.yml,则可以使用rake db:data:load加载。
https://stackoverflow.com/questions/26751628
复制相似问题