【问题标题】: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 进行加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    相关资源
    最近更新 更多