【问题标题】:how to export database(dumpfile) into sqllite from mysql database in ruby on rails如何将数据库(转储文件)从 mysql 数据库中的 ruby on rails 导出到 sqlite
【发布时间】:2015-01-01 07:35:11
【问题描述】:
我使用yaml_db gem 创建了我的 mySQL 数据库的转储文件,以便与 SQLite 一起使用
然而,这是一个完整的数据库导出,我想导出特定表的数据。
command = rake db:data:dump
另一种用法
command:-mysqldump -uroot db_name table_name > db/database.yml
这些命令对我有用,但它们不能生成正确的 SQLite 格式。我认为生成的格式是 SQL
如何将 MySQL 转储转换为 Sqlite。
【问题讨论】:
标签:
mysql
ruby-on-rails
ruby
sqlite
【解决方案1】:
由于 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 的其他应用程序中仅加载选定的表。如果您在目标应用程序中将下载文件命名为db/data.yml,则可以使用rake db:data:load 进行加载。