我有一个包含大量数据和表的Mysql数据库。但我需要知道如何在我的新rails应用程序中使用这个Mysql数据。我一段时间以来一直在学习Rails。我知道创建脚手架的基础知识,而脚手架又创建模型和控制器,但我不清楚如何导入数据库并使用它。 任何人都可以解释或提供有关如何克服这一点的链接。
这是我在运行一个简单的脚手架后的迁移,我在那里添加了一个电子邮件字符串后运行rake db:migrate
但没有发生任何事情..:
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :title
t.text :description
t.string :image_url
t.decimal :price, :precision => 8, :scale => 2
>> t.string :email
t.timestamps
end
end
end
答案 0 :(得分:1)
如果您需要将当前数据库中的数据导入到应用中的数据,我建议您使用Sequel Pro。它是MySQL的一个很棒的GUI。您可以使用它来导出所需的数据库,例如.csv文件,并将其导入新数据库。
关于迁移,运行脚手架并运行rake db:migrate
只会设置数据库;它不会添加任何数据。所以在这里,您已将其设置为创建products
表,并为其属性指定数据类型。
但是为了获取数据,您只能通过应用程序的表单或导入数据来实现。
答案 1 :(得分:0)
在此之前,尝试了解有关rails及其约定的更多信息。可能你需要调整你的数据库方案。 或者您可以启动应用程序,然后导入数据,甚至是SQL或CSV。 迁移数据可能是一项繁琐的工作,但却是必要的工作。
您可以查看this gem以查看它是否对您的案例有所帮助,因为它取决于您的实际架构。
或者您可以按照此idea并从旧数据库加载数据库架构和数据。如果您不遵守rails约定,它将失败。
答案 2 :(得分:0)
我在过去的项目中已经完成了这一点,并且Rails肯定是可能的。
您可以在Ruby on Rails中使用旧数据库,也可以在同一个Rails项目中使用多个数据库。
有一本书详细介绍了如何将Rails与遗留MySQL数据库一起使用,以及如何调整模型以便与旧表一起使用: http://www.amazon.com/Pro-Active-Record-Databases-Experts/dp/1590598474
使用旧版表格的脚手架可能不会让你走得太远,因为你需要更改很多生成的代码来修复命名等。
如果你的Rails应用程序也有新的表/模型,我建议你在Rails项目中使用两个数据库:一个用于遗留数据,一个用于新模型。