【ISSUE】Express + PostgreSQL でつまづいたところ
2024年12月23日 22:38
今回 Express / Heroku で業務効率化ツールを作成しました。
普段バックエンドのコードに慣れていないので特にDB周りで躓くことが多かったです。
DB関連でざっと躓いた内容を備忘録的に残しておきます。
環境変数としてDB接続情報を呼び出す時に
を使っていたのですが、最初接続できずませんでした。
出たエラー文は覚えていないのですが、dotenv ではなく直接書き込むと接続できる。
そこで process.env.hoge
を typeof
で評価すると全てstring扱いになってました。
今回最初にDB接続の関数を作って後で export して使えばいいか〜
と思って接続確認後に他の階層から呼び出したら、
Error: The server does not support SSL connections
んぉ??
で、公式ドキュメントやらなんやら見てると解答が。
https://github.com/motdotla/dotenv/issues/135#issuecomment-254211441
神様ありがとう。サンキューダッチ。
完全に非同期の初歩的なミスしてました。
値を直接returnするのではなく、式をreturnする必要があります。
ダメだった例は同じファイルでconsole.log()
してたときは正しく取れてたのでちょっとハマってしまった…
まぁ当然といえば当然なのですが…
今回最初に使ったコードがExpress3系で書かれていて気付かずに作成していて、中盤で4系に全部直すみたいな無駄な作業が…
ちゃんと公式ドキュメントよもうね。自分。
(というかnpmで管理されてるものは最終履歴まで確認した方がいいですね)
まぁどの公式も主要な変更はわかりやすく載せてくれてるので、それほど大変ではなかったです。
https://expressjs.com/ja/guide/migrating-4.html
最後まで読んでいただきまことにありがとうございますm_ _m
DBに関わらず、普段やっていない領域なので学びしかありませんでした!
Expressが規約がゆるいFWということで、次は規約が強めのFW触って色々学んでいこうと思います^^
[cv:issue_marketplace_engineer]
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。