メインコンテンツへスキップ

データベースを接続する

データベースの接続

データベースに接続するには、Prismaスキーマのdatasourceブロックのurlフィールドをデータベースの接続URLに設定する必要があります。

prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}

また、datasourceブロックでrelation mode typeをprismaに設定する必要があります。

schema.prisma
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
relationMode = "prisma"
}

url環境変数経由で設定され、.envで定義されています。

.env
DATABASE_URL="mysql://janedoe:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict"

ここから接続URLを自身のデータベースを指すように調整する必要があります。

接続URL

データベースの接続URLのフォーマットは通常、使用するデータベースによって異なります。PlanetScaleはMySQLの接続URLフォーマットを使用しており、以下の構造になっています(すべて大文字でスペルアウトされた部分は、特定の接続詳細のプレースホルダーです)。

mysql://USER:PASSWORD@HOST:PORT/DATABASE

各コンポーネントの簡単な説明は以下のとおりです。

  • USER: データベースユーザーの名前
  • PASSWORD: データベースユーザーのパスワード
  • PORT: データベースサーバーが実行されているポート(通常はMySQLの場合は3306
  • DATABASE: データベースの名前

PlanetScaleでホストされているデータベースの場合、接続URLは次のようになります。

.env
DATABASE_URL="mysql://myusername:mypassword@server.us-east-2.psdb.cloud/mydb?sslaccept=strict"

特定のデータベースブランチの接続URLは、PlanetScaleアカウントからブランチの概要ページに移動し、'Connect'ドロップダウンを選択することで見つけることができます。'Passwords'セクションで、新しいパスワードを生成し、'Prisma'を選択して、接続URLのPrisma形式を取得します。

別の方法:PlanetScale CLIを使用した接続

または、PlanetScale CLIを使用してPlanetScaleデータベースサーバーに接続し、ローカル接続URLを使用することもできます。この場合、接続URLは次のようになります。

.env
DATABASE_URL="mysql://root@localhost:PORT/mydb"

ブランチに接続するには、次のコマンドを使用します。

pscale connect prisma-test branchname --port PORT

デフォルトポート3306を使用している場合、--portフラグは省略できます。