Несколько соединение с базой данных в направляющих

При выполнении этого из сценария тестирования можно использовать Теста::* модули, которые получают вывод для Вас. Я склонен любить Тест:: Вывод .

6
задан Jesper Rønn-Jensen 28 July 2014 в 21:17
поделиться

3 ответа

Это изменит соединение с базой данных для одного объекта модели.

$config = YAML.load_file(File.join(File.dirname(__FILE__),
   '../config/database.yml'))

class ModelWithDifferentConnection < ActiveRecord::Base
  establish_connection $config['connection_name_from_database_yml']
end

Если вы используете тот же сервер, но только другой файл базы данных, тогда вы можете сделать что-то вроде этого.

class ModelWithDifferentConnection < ActiveRecord::Base

  # Lives in the CURRICULUM database
  def self.table_name
    "database.table"
  end

end
4
ответ дан 8 December 2019 в 04:54
поделиться

Я попробовал ur Sample, но все еще получаю ошибку !!

superclass mismatch for class MysqlAdapter

Думаю, проблема в моем файле database.yml . Пожалуйста, проверьте этот файл

database_mysql: 
  adapter: mysql
  database: project
  host: localhost
  username: root
  password: root
  port: 3306  

development:
  adapter: postgresql
  database: codex
  host: localhost
  username: postgres
  password: root
  port: 5432  

test:
  adapter: postgresql
  database: codex
  host: localhost
  username: postgres
  password: root
  port: 5432  

production:
  adapter: postgresql
  database: codex
  host: localhost
  username: postgres
  password: root
  port: 5432  

i запускать дворнягу только в режиме разработки.

вот мой суперкласс модели

$config = YAML.load_file(File.join(File.dirname(__FILE__),
   '../../config/database.yml'))

class MasterDatabase < ActiveRecord::Base
    self.abstract_class = true
    establish_connection $config['database_mysql']    
end 

Пожалуйста, поправьте меня ..

1
ответ дан 8 December 2019 в 04:54
поделиться

Я не знаю об active_delegate, но недавно мне приходилось обращаться к различным базам данных для рабочих приложений, и ничего не подходило к тому, что я хотел. Итак, я написал кое-что для себя, как мы говорим, это работает в производственных приложениях.

Фиксированная ссылка connection_ninja

0
ответ дан 8 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: