5

ActiveRecord 연결 만들기에 연결할 수있는 방법이 있습니까? 방금 연결이 생성 될 때마다 일부 코드를 실행하려고합니다.ActiveRecord 데이터베이스 연결에 대한 콜백?

database.yml의 "variables"가 나에게 적합하지 않기 때문에 MySQL 변수를 연결에 설정할 수있는 것처럼 느껴집니다. (How to turn off MySQL strict mode in Rails)

+0

이것은 특정 모델 또는 일반적으로 맞습니까? –

답변

3

ConnectionAdapter은 두 개의 콜백 :checkout (연결)과 :checkin (연결 해제)을 정의합니다. 당신이 당신의 모델을 구성해야하는 경우가

ActiveRecord::ConnectionAdapters::MysqlAdapter.set_callback :checkout, :after do 
    raw_connection.set_your_variables ... 
end 

으로 특정 어댑터에 사용할 수 있습니다 또는 당신은 또한 database.yml

+0

Rails 5.2에서이 콜백은 연결이 확립 된 후 한 번이 아니라 연결 풀에서 모든 체크 아웃 (모든 HTTP 요청의 처리 전과 같이 생각할 때)에 발생합니다. 또한 모델 메서드를 호출 할 수 없습니다 (끝없는 재귀가 발생합니다). – Envek

관련 문제