从外部脚本向数据库添加记录的最佳方法是什么?我想使用activerecord但是我不确定如何在rails目录结构之外这样做。
答案 0 :(得分:8)
您可以在ruby中使用activerecord。假设您已安装所需的数据库驱动程序。你可以做类似的事情
require 'activerecord'
ActiveRecord::Base.establish_connection(
:adapter => 'your_database_adapter',
:host => 'your_host',
:username => 'username'
:password => 'password',
:port => 'port_number'
)
建立数据库连接。由于您要将记录添加到数据库,因此我假设架构已存在。然后你只需做
class ModelName < ActiveRecord::Base
has_many :modelz
end
class Modelz < ActiveRecord::Base
belongs_to :model_name
end
你已经定下来了。 (多数民众赞成在建立数据库连接后,您可以使用活动记录在rails中执行所有操作,甚至可以在模型之间建立关系)您可以使用刚刚创建的模型类的对象执行任何操作。像,
ModelName.find(:all)
@model = ModelName.new
@model.user_id = rand(10)
@model.save
等等。
如果您没有架构,请不要惊慌。您可以在建立数据库连接后通过嵌入代码simlar来创建它。
ActiveRecord::Schema.define do
create_table :sometable do |table|
table.integer :int1, :int2
table.string :str1, :str2
end
create_table :yetanothertable do |table|
table.integer :anotherint
table.text :sometext
end
end
这应该可以正常工作。这里给出的代码是一个示例,可能在语法上不完美。 This should also help.但是,架构定义是以较旧的rails方式完成的。