rake db:create
はlocalhost
のDBの作成をしてくれるがリモートのDBでは利用できない.
ただ設定で1行追加するだけでリモートのDBでもこのタスクが使える様になります.
以下の例はリモートのDBのIPが192.168.99.100
の場合の例です.
config/initializers/localhosts.rb
ActiveRecord::Tasks::DatabaseTasks::LOCAL_HOSTS << '192.168.99.100'
具体的にはdatabase_tasks.rbで以下の様に定義されています。
この定義を良く見るとfreeze
しているわけではないので追加できます.
/activerecord/lib/active_record/tasks/database_tasks.rb#L55
LOCAL_HOSTS = ["127.0.0.1", "localhost"]
Githubのmasterブランチでも使える感じだったので、Rails6系でも使えると思う.