我在这里查看了其他几个问题,它们有点相似,但不完全是我想要的。
我想做的是导入/“转换”一个 *.sql 文件,其中包含 8 个表,每个表包含大约 24 列。这个文件实际上是相当扁平的文件,看起来好像之前工作的唯一查询必须与表之间关联共享的 :id 相关(因此, SELECT * FROM table1, table2 WHERE id = '1' 将提取所有结果,这was当时还好)。
我四处搜寻,但找不到一个聪明的方法来做到这一点,所以我现在向 Rails 专家寻求帮助。
我假设您想要的基本上是将 SQL 文件转换为 Rails 数据库模式文件,而不必自己手动执行此操作。
一种快速的方法是手动执行 SQL 文件,可能是通过登录数据库并以这种方式加载文件,或者执行类似于已完成的操作在这个问题中 https://stackoverflow.com/questions/8342642/how-can-i-import-a-sql-file-into-a-rails-database:
ActiveRecord::Base.connection.execute(IO.read("path/to/file"))
将 .sql 文件中定义的架构实际加载到数据库中后,您将需要遵循概述的步骤在这个问题中 https://stackoverflow.com/questions/2754771/can-i-generate-a-ruby-on-rails-database-migration-file-from-a-mysql-sql-file:
第一次运行rake db:schema:dump
这将根据数据库的当前状态生成 db/schema.rb 数据库文件。
从这里,您可以创建引用 schema.rb 文件的 db/migrate/001_original_schema.rb 迁移,如下所示:
class OriginalDatabaseMigration < ActiveRecord::Migration
def self.up
# contents of schema.rb here
end
def self.down
# drop all the tables
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)