ActiveRecord 연결 만들기에 연결할 수있는 방법이 있습니까? 방금 연결이 생성 될 때마다 일부 코드를 실행하려고합니다.ActiveRecord 데이터베이스 연결에 대한 콜백?
database.yml의 "variables"가 나에게 적합하지 않기 때문에 MySQL 변수를 연결에 설정할 수있는 것처럼 느껴집니다. (How to turn off MySQL strict mode in Rails)
ActiveRecord 연결 만들기에 연결할 수있는 방법이 있습니까? 방금 연결이 생성 될 때마다 일부 코드를 실행하려고합니다.ActiveRecord 데이터베이스 연결에 대한 콜백?
database.yml의 "variables"가 나에게 적합하지 않기 때문에 MySQL 변수를 연결에 설정할 수있는 것처럼 느껴집니다. (How to turn off MySQL strict mode in Rails)
ConnectionAdapter
은 두 개의 콜백 :checkout
(연결)과 :checkin
(연결 해제)을 정의합니다. 당신이 당신의 모델을 구성해야하는 경우가
ActiveRecord::ConnectionAdapters::MysqlAdapter.set_callback :checkout, :after do
raw_connection.set_your_variables ...
end
으로 특정 어댑터에 사용할 수 있습니다 또는 당신은 또한 database.yml
Rails 5.2에서이 콜백은 연결이 확립 된 후 한 번이 아니라 연결 풀에서 모든 체크 아웃 (모든 HTTP 요청의 처리 전과 같이 생각할 때)에 발생합니다. 또한 모델 메서드를 호출 할 수 없습니다 (끝없는 재귀가 발생합니다). – Envek
에 선언 된 어떤 어댑터 ActiveRecord::Base.connection.class
를 사용하여 연결이 설정 및 열 정보이었다 한 후 모델에서 load_schema!
클래스 메소드를 다시 정의 할 수 있습니다.
참조 : https://github.com/rails/rails/pull/31681#issuecomment-357113030
이것은 특정 모델 또는 일반적으로 맞습니까? –