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

既存のデータベースをTypeScriptとMySQLで接続する

データベースの接続

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

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

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

.env
DATABASE_URL="mysql://johndoe:randompassword@localhost:3306/mydb"

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

接続URL

データベースの接続URLの形式は通常、使用するデータベースに依存します。MySQLの場合、以下のようになります(すべて大文字で書かれている部分は、特定の接続詳細のプレースホルダーです)。

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

各コンポーネントの簡単な説明です。

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

例として、AWS RDSでホストされているMySQLデータベースの場合、接続URLは次のようになるでしょう。

.env
DATABASE_URL="mysql://johndoe:XXX@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com:3306/mydb"

MySQLをローカルで実行している場合、接続URLは通常次のようになります。

.env
DATABASE_URL="mysql://root:randompassword@localhost:3306/mydb"
© . All rights reserved.