JavaScriptとCockroachDBを使用して既存のデータベースに接続する
データベースへの接続
データベースに接続するには、Prismaスキーマのdatasource
ブロックのurl
フィールドをデータベースの接続URLに設定する必要があります。
prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
url
は.env
で定義された環境変数経由で設定されます。これで、接続URLを自分のデータベースを指すように調整する必要があります。
接続URL
使用するデータベースの接続URLの形式は、データベースによって異なります。CockroachDBはPostgreSQLの接続URL形式を使用し、以下の構造を持っています(すべて大文字で表記されている部分は、特定の接続詳細のプレースホルダーです)。
postgresql://USER:PASSWORD@HOST:PORT/DATABASE?PARAMETERS
各コンポーネントの簡単な説明は以下の通りです。
USER
: データベースユーザーの名前PASSWORD
: データベースユーザーのパスワードPORT
: データベースサーバーが稼働しているポート。CockroachDBのデフォルトは26257
です。DATABASE
: データベースの名前PARAMETERS
: その他の接続パラメータ。CockroachDBのドキュメントはこちらを参照してください。
CockroachDB ServerlessまたはCockroach DedicatedデータベースがCockroachDB Cloudでホストされている場合、接続URLは次のようになります。
.env
DATABASE_URL="postgresql://<myusername>:<mypassword>@<short-id>.<region>.cockroachlabs.cloud:26257/defaultdb?sslmode=verify-full&sslrootcert=$HOME/.postgresql/root.crt&options=--<mycluster>"
CockroachDB Cloudで接続文字列を見つけるには、データベースクラスターの概要ページで「Connect」ボタンをクリックし、「Connection string」タブを選択してください。
ローカルでホストされているCockroachDBデータベースの場合、接続URLは次のようになります。
.env
DATABASE_URL="postgresql://root@localhost:26257?sslmode=disable"
接続文字列は、コマンドラインからCockroachDBを起動した際のウェルカムテキストの一部として表示されます。