我有一个全新的Rails应用程序,我想挂钩到现有的MySQL数据库来做一些读写。我已编辑了database.yml
文件以连接到新数据库。 rails c
和rails s
不会抛出错误,导致我认为连接有效。
我还没有创建任何模型或迁移。我想知道是否有一种简单的方法可以将我需要的模型放入我的Rails项目中。
如果我需要导出备份或架构,我可以使用Sequel Pro连接到数据库。或者我是否需要生成模型并手动复制所有列类型和所有内容?
感谢您的帮助。
答案 0 :(得分: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
答案 1 :(得分: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.
有关通过ActiveRecord::Base
的子类化获得的更多有效记录功能,请参阅Active Record Query Interface。