Rails сгенерированный ввод рейка против собственного ввода - PullRequest
0 голосов
/ 26 марта 2012

Я пытаюсь разработать небольшой проект на Rails с помощью rake-tasks.

Прежде всего, я получаю некоторые данные из 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, поэтому я работаю с квадратными скобками.

EDIT:

Хорошо, нашел проблему. Как я уже говорил раньше. В грабли я устанавливаю соединение с удаленной базой данных (SQLServer) и хочу сохранить данные в локальной базе данных (PostgreSQL).

Проблема была со связью. Когда я извлек данные из SQLServer, вам нужно переключиться из базы данных, и вот как вы можете это сделать.

ActiveRecord::Base.establish_connection :[one_of_databasename_in_your_yaml]

1 Ответ

1 голос
/ 27 марта 2012

Вы можете поддерживать несколько объектов подключения. Если вы используете ActiveRecord для обоих соединений с базой данных, вы можете указать, какое соединение использовать в каждой модели.

См: Несколько подключений к базе данных в Rails а также Как лучше всего обрабатывать подключения к базе данных для каждой модели с ActiveRecord?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...