我试图在Rails中开发一个带有rake任务的小项目。
首先,我从rake调用中获得一些数据,并将其存储在数据库中。问题:当我试图存储生成的数据时,总是会收到一个错误(未知属性: actuals_cost)。但当我试着给它手动的时候,它就起作用了.
以下是我的一些代码:
desc "Import Projects from CRM"
task :import_projects_crm => [:environment] do
crm_projects = Crm::Importer.new().import_projects
Project.create(
:order_number => crm_projects[0][0],
:client_name => crm_projects[0][2],
:partner_name => crm_projects[0][1],
:totals_sales_orders => crm_projects[0][3],
:actuals_cost => crm_projects[0][4],
:actuals_sales => crm_projects[0][5],
:external_cost => crm_projects[0][7],
:external_sales => crm_projects[0][8],
:total_change_request => crm_projects[0][6],
:storage_path_sales_order => crm_projects[0][9],
:storage_path_pm => crm_projects[0][10]
)
#Project.create(:actuals_cost => 100) --> works :(
end数据是从SQLServer中提取的,这就是我使用方括号的原因。
编辑:
好吧,发现问题了。就像我之前说过的。在rake中,我与远程数据库(SQLServer)建立了连接,并希望将数据存储在本地数据库(PostgreSQL)上。
问题是这种联系。当我从SQLServer中提取数据时,您需要从数据库中切换,这就是您可以这样做的。
ActiveRecord::Base.establish_connection :[one_of_databasename_in_your_yaml]发布于 2012-03-27 14:04:39
您可以维护多个连接对象。如果两个数据库连接都使用ActiveRecord,则可以指定在每个模型中使用哪个连接。
见:Multiple database connection in Rails和How to best handle per-Model database connections with ActiveRecord?
https://stackoverflow.com/questions/9871129
复制相似问题