사용자 등록을 위해 Rails 및 MySql 데이터베이스와 Devise를 사용하고 있습니다. 두 개의 데이터베이스 (예 : db1 및 db2)에 users 테이블이 있습니다. 사용자를 등록한 후에 레일즈가 백그라운드에 있음을 확인 했으므로 두 데이터베이스 모두에 대해 사용자가 생성되었습니다. db1의 users 테이블을 살펴보면 레코드가 발견되지 않았지만 db2에 레코드가 삽입되었습니다.사용자 레코드가 하나의 데이터베이스에 저장되지만 다른 데이터베이스에는 저장되지 않습니다.
여기 내 코드입니다. 도와 주셔서 감사합니다.
user model
-----------
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me, :confirmation_token
after_create :save_to_db2
def save_to_db2
@user = User.last
ActiveRecord::Base.establish_connection("db_second").connection
sql = "INSERT INTO users (username, email) VALUES ('#{@user.username}', '#{@user.email}')"
connection.execute(sql)
end
end
database.yml
-------------
development:
adapter: mysql2
encoding: utf8
database: db1
pool: 5
username: root
password: root
db_second:
adapter: mysql2
encoding: utf8
database: db2
pool: 5
username: root
password: root
감사합니다. 나는 그것을 해결했다. –