rake-tasksを使ってRailsで小さなプロジェクトを開発しようとしています。Rails rakeは入力と自己入力を生成しました
まず、rake-callからいくつかのデータを取得し、データベースに格納します。 問題:生成されたデータを保存しようとすると、私はいつもエラー(不明な属性: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のから引っ張られ、私は角括弧で作業Thatsなぜ:しかし、私はそれを手動でを与えることをしようとすると、それは
は、ここに私のコードの一部をある...作品。EDIT:
さてさて、問題を発見しました。私が前に言ったように。 rakeでは、私はリモートデータベース(SQLServer)との接続を行い、ローカルデータベース(PostgreSQL)にデータを格納したいと思います。
接続に問題がありました。私がSQLServerからデータを取得したとき、データベースから切り替える必要があります。これはどのように行うことができます。
ActiveRecord::Base.establish_connection :[one_of_databasename_in_your_yaml]
私たちは、プロジェクトが具体的にactuals_cost分野について、定義されている方法の詳細が必要thnk。あなたは環境を初期化しているので、それは良いことです。あなたは宝石のいくつかの異なるセットを取得しているか、別のデータベース接続か、おそらくデータベース接続がありません。 – mcr
私はPostgreSQLデータベースを使用しています。私はそれを "置く"ときにcrm_projectsからデータを受け取ります。しかし、私はそれを保存したい、私はしています。私は手動でこのように手動で行う=> Project.create(:actuals_cost => 100) –
Oyeahは、rakeファイル内で外部データベース(SQLServer)と接続し、新しいデータを保存するためにlocalhostを使用しますPostgreSQLデータベース。 –