2

我有一个全新的 Rails 应用程序,我想将它连接到现有的 MySQL 数据库中进行一些读写操作。我已经编辑了我的database.yml文件以连接到新的数据库。rails c并且rails s不要抛出导致我相信连接有效的错误。

我还没有创建任何模型或迁移。我想知道是否有一种简单的方法可以将我需要的模型放入我的 Rails 项目中。

如果我需要导出备份或架构,我可以使用 Sequel Pro 连接到数据库。还是我需要手动生成模型并复制所有列类型和所有内容?

谢谢你的帮助。

4

2 回答 2

4

ActiveRecord 将为您检测列名!您不需要创建任何迁移,但您必须制作模型。

当你创建一个活动记录模型时,活动记录将通过复数类名来推断你正在连接的表名。

所以:

# app/models/book.rb

class Book < ActiveRecord::Base
end

将尝试找到一个名为“books”的表。然后,您可以实例化 Book 的一个实例,您会发现它具有用于字段名称的 getter/setter。

如果您的表不遵循此命名约定,您也可以手动定义表名:

class Mouse < ActiveRecord::Base
  self.table_name = "mice" 
end

http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html

于 2015-04-10T22:04:12.240 回答
0

首先为orders表创建具有以下结构的空模型文件:

class Order < ActiveRecord::Base
end

有了这么多,您就可以在订单表上获得所有活动记录的魔力。您可以从控制台执行以下操作:

> Order.count
 => # Shows the number of rows in orders table
> Order.first
 => # Return the first row from the table
> Order.where(...)
 => # Return selected rows from the table meeting the specified criteria.

请参阅Active Record Query Interface了解更多活动记录功能,您可以从ActiveRecord::Base.

于 2015-04-10T22:04:07.350 回答