🚅
Railway × Rails のデプロイ方法&SQLの接続方法
導入
heroku君がGitHub連携使えないためRailway君試してみました。
ドキュメントとか公式Discordあるけどオールアメリカ語。
あと躓いた点があるため記事を書こうと久々に筆を執りました。
あと備忘録として。
ターゲットとしてはデプロイしたことない人向けです。
CLIもあるけど、今回は使いません。
デプロイ
GitHubからとってくる分には流れで行けると思うので割愛します。
自分の場合MySQLとRedisで作成したためそれで進めます。
スクショ小さくて申し訳ないけど見なくても行けるからいいよね。
右上の +NEW からDBの追加ができるので、必要なものを追加します。
DB接続
環境変数で接続をするのですが、注意ポイントです。
ここのURLでも変数でもいいのですが、
.env
DATABASE_URL=mysql://${{ MYSQLUSER }}:${{ MYSQLPASSWORD }}@${{ MYSQLHOST }}:${{ MYSQLPORT }}/${{ MYSQLDATABASE }}
これを
.env
DATABASE_URL=mysql2://${{ MYSQLUSER }}:${{ MYSQLPASSWORD }}@${{ MYSQLHOST }}:${{ MYSQLPORT }}/${{ MYSQLDATABASE }}
こう
わからない人向けに
DATABASE_URL=mysql2
←ここ
2をつけましょう。
これはRailsのadapterの仕様なんですが、そのままやってたら嵌るのなんとかしてほしい……。
これに合わせてdatabase.ymlも書き換えます。
database.yml
default: &default
url: <%= ENV['DATABASE_URL'] %>
adapter: mysql2
timeout: 5000
development:
<<: *default
database: railway
test:
<<: *default
database: railway_test
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
adapter: mysql2
timeout: 5000
こんな感じでうまくいくはず。
development.rb
Rails.application.configure do
config.hosts << "{host名}"
end
ついでにこれも入れとけばうまくいくはず。
終わり
Railway君便利だねぇ。
あとはスタート時のコマンドでrails s
をしたりすればいいはず。
これから君もRailwayerだ!
語呂悪いし公式でなんていうんだろ……。
追記
Railsだとrails db:migrate
とかしたいからCLIのほうがいいのかも。
GitHub連携かCLIかってだけだからそんなやり方は変わんないはず。
Discussion