Open yosuke-43 opened 9 months ago
@yosuke-43 flyioのdb情報はあっていますかね? postgresqlはデフォルトのポートが5432なので、その部分を再度確認していただいてもよろしいでしょうか?
あとflyioの環境変数を利用してpasswordは隠すようにしましょう!
@kerochelo
flyioのdb情報はあっていますかね?
最初にfly launchをした際のメモを残していたので、これで合ってると思います。
Postgres cluster dog-app-db created
Username: postgres
Password: FCGFcBEDWqgjrBm
Hostname: dog-app-db.internal
Flycast: fdaa:6:b74b:0:1::2
Proxy port: 5432
Postgres port: 5433
Connection string: postgres://postgres:FCGFcBEDWqgjrBm@dog-app-db.flycast:5432
postgresqlはデフォルトのポートが5432なので、その部分を再度確認していただいてもよろしいでしょうか?
yosuketokito@tokitouyousukenoMacBook-Air dog_app % psql -h dog-app-db.internal -p 5432 -U postgres -d postgres
psql: error: could not translate host name "dog-app-db.internal" to address: nodename nor servname provided, or not known
5432に変更しても接続はできなかったです。
また、fly.ioのダッシュボードをもとに 下記のコマンドを実施しましたが、データベースに接続はできませんでした。
yosuketokito@tokitouyousukenoMacBook-Air dog_app % psql -h fdaa:6:b74b:0:1::2 -p 5432 -U postgres -d postgres
psql: error: connection to server at "fdaa:6:b74b:0:1::2", port 5432 failed: Operation timed out
あとflyioの環境変数を利用してpasswordは隠すようにしましょう!
config/database.yml
production:
adapter: postgresql
encoding: unicode
database: dog-app-db # データベース名を指定
username: postgres # ユーザー名を指定
password: ENV['SECRET_KEY'] # パスワードを指定
host: dog-app-db.internal # ホスト名を指定
port: 5432 # ポート番号を指定
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
編集しました
デプロイまでしていますが、一度アプリを削除してもう一度やり直した方がよろしいでしょうか?
今一旦fly.ioのダッシュボードからアプリとデータベースを削除しました。 再度最初からやってみます。
@kerochelo
デプロイまでしていますが、一度アプリを削除してもう一度やり直した方がよろしいでしょうか?
そうですね。一度外部に出てしまった情報は履歴を辿れば分かってしまうのでやり直した方がようかと思います。
別案としては、fly.io に拘らず他のデプロイ先(Heroku, etc)などでデプロイしても問題ないので検討してみてください。
(何かあればMattermostの方にメンションを付けて投稿してください。メンションが無いと気づけないです。)
↑ @yosuke-43
質問内容・実現したいこと fly.ioを使用して、デプロイまで完了しました。 開発用データベースで登録していたデータを、本番用データベースでも使用したいためデータの移行が行いたいです。
現状発生している問題・エラーメッセージ fly.io上にデータベースを作成したのですが、postgreSQLにも接続できず、データの移行もできていない状況です。 なにが原因か特定できていない状況です。
どの処理までうまく動いているのか fly.io上でpostgresでデータベースの作成までは完了しています。 ↑これの根拠は下記のfly launchをした際に下記の内容を確認しました。
yosuketokito@tokitouyousukenoMacBook-Air dog_app % psql -h dog-app-db.internal -p 5433 -U postgres -d dog_app psql: error: could not translate host name "dog-app-db.internal" to address: nodename nor servname provided, or not known
yosuketokito@tokitouyousukenoMacBook-Air dog_app % dig dog-app-db.fly.dev
; <<>> DiG 9.10.6 <<>> dog-app-db.fly.dev ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42443 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;dog-app-db.fly.dev. IN A
;; AUTHORITY SECTION: fly.dev. 300 IN SOA ns1.flydns.net. ops.fly.io. 1708314580 86400 7200 604800 300
;; Query time: 30 msec ;; SERVER: 2001:a7ff:5f01::a#53(2001:a7ff:5f01::a) ;; WHEN: Mon Feb 19 12:51:07 JST 2024 ;; MSG SIZE rcvd: 107
yosuketokito@tokitouyousukenoMacBook-Air dog_app % dig dog-app-db.internal
; <<>> DiG 9.10.6 <<>> dog-app-db.internal ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 28552 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;dog-app-db.internal. IN A
;; AUTHORITY SECTION: . 86400 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2024021801 1800 900 604800 86400
;; Query time: 19 msec ;; SERVER: 2001:a7ff:5f01::a#53(2001:a7ff:5f01::a) ;; WHEN: Mon Feb 19 13:02:01 JST 2024 ;; MSG SIZE rcvd: 123
yosuketokito@tokitouyousukenoMacBook-Air dog_app % psql "host=fdaa:6:b74b:0:1::2 port=5433 user=postgres dbname=dog-app-db sslmode=require"
psql: error: connection to server at "fdaa:6:b74b:0:1::2", port 5433 failed: Operation timed out Is the server running on that host and accepting TCP/IP connections?
production: adapter: postgresql encoding: unicode database: dog-app-db # データベース名を指定 username: postgres # ユーザー名を指定 password: FCGFcBEDWqgjrBm # パスワードを指定 host: dog-app-db.internal # ホスト名を指定 port: 5433 # ポート番号を指定 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>