そもそもテスト環境を作るのにてこずって。ローカルに DB/Rails と立てても良いんですが...
Main の nginx に転送されてしまう
ってのが良く分からなくって。なんだが、どうも、それは DB に接続できなかった時の fall back のだめなエラーらしい。
結局わかったのは、
podman -v hoge:fuga で diectory を mapping する時は、両方、絶対パス(/ から始まる)
ってっことで、これを間違えてたので config が古いままで、DBに接続できなかっただけ。そもそも、
config に IP address をハードコードしてあって、環境変数で変えられない
ってのがだめだったらしい。それを乗り込えたら動いたんですが、次は
PowerDNSのDBを、Rails の Active Record にする
どうも、Multi Database がちゃんと動くのは Rails 6 かららしく、またまた、Rails の version を上げることに。
ところがさっぱりわからん。どこで、どうやって DB と ruby がつながるわけ?
classs LocalRecord と table local_records と class local_record の関係は?
なんだが、config/databbase.yml に複数のDBを書いて、
development:
main:
database: akatsuki
pdns:
database: powerdnsk
その名前で、
rails generate scaffold Domain name:string --database pdns
とすると、table domains が class Domain と class PdnsRecord に生成されるらしい。犯人はお前か。
table の grant が出てないとかもあったんですが、これで動いたんですが... どうも、
app/models/pdns_record.rb
class PdnsRecord < ApplicationRecord
self.abstract_class = true
self.inheritance_column = nil
connects_to database: { writing: :pdns, reading: :pdns }
end
を作ってやれば、それで良いだけらしい。これで、pdns database から、
勝手にいろいろ調べて勝手に名前を変えて生成するのが Rails
ってことがわかりました。これでDBは接続終了。あと、もう少しだ。
No comments:
Post a Comment