Prismaの基本操作(MySQLのマイグレーション編)
本記事の内容
TypeScriptやGo言語をサポートしているPrismaの説明をします。
本記事はマイグレーション編となります。CRUD処理はCRUD処理編をお読みください。
アジェンダ
- Prismaとは
- Prismaのインストール
- PrismaのMigration
1. Prismaとは
2. Prismaのインストール
インストール後はprismaの必要モジュールをインストールするため、下記コマンドを実行する。 prismaのディレクトリが作成され、schema.prismaが作成されていれば、準備OKです。Prismaのインストール
Prismaはnpmサポートを受けているので、npmやyarnコマンドでインストール可能です。
下記コマンドでインストールしましょう。
~/develop/study/prisma $ yarn init
yarn init v1.22.5
warning ../../../package.json: No license field
question name (prisma):
question version (1.0.0):
question description:
question entry point (index.js):
question repository url:
question author:
question license (MIT):
question private:
success Saved package.json
✨ Done in 6.47s.
~/develop/study/prisma $ yarn add prisma
yarn add v1.22.5
warning ../../../package.json: No license field
info No lockfile found.
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ @prisma/[email protected]
└─ [email protected]
✨ Done in 4.42s.
~/develop/study/prisma $ yarn prisma init
yarn run v1.22.5
warning ../../../package.json: No license field
$ /Users/kawamurakouji/develop/study/prisma/node_modules/.bin/prisma init
✔ Your Prisma schema was created at prisma/schema.prisma
You can now open it in your favorite editor.
Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlserver or sqlite.
3. Run yarn prisma db pull to turn your database schema into a Prisma data model.
4. Run yarn prisma generate to install Prisma Client. You can then start querying your database.
More information in our documentation:
https://pris.ly/d/getting-started
✨ Done in 1.65s.
~/develop/study/prisma $ tree -I node_modules
.
├── package.json
├── prisma
│ └── schema.prisma
└── yarn.lock
3. Prismaのマイグレーション
prismaディレクトリのschema.prismaを開いてください。デフォルトでは以下のようなファイルになっています。 それを以下のように変更してください。これでUserTBLを作成できます。3-1. schema.prismaの修正
TBL作成やDBへのアクセス情報はschema.prismaで管理されています。そのため、schema.prismaを修正していきましょう。
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
.envを下記のように変更してください。({ユーザ名}、{パスワード}、{スキーマ名}は環境に応じて変更してください。)3-2. .envの設定
schema.prismaではDBアカウントやPWをurlで保存しています。 urlは環境変数として登録する必要があるため、登録用の.envを編集しましょう。 .envは既にできており、配置場所は下記の通りです。
~/develop/study/prisma $ ls -la
total 24
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:36 .
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:15 ..
-rw-r--r-- 1 kawamurakouji staff 477 7 5 16:36 .env
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:34 node_modules
-rw-r--r-- 1 kawamurakouji staff 169 7 5 16:34 package.json
drwxr-xr-x 3 kawamurakouji staff 96 7 5 16:36 prisma
-rw-r--r-- 1 kawamurakouji staff 1637 7 5 16:34 yarn.lock
~/develop/study/prisma $ cat .env
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
DATABASE_URL="mysql://{ユーザ名}:{パスワード}@localhost:3306/{スキーマ名}"
Author And Source
この問題について(Prismaの基本操作(MySQLのマイグレーション編)), 我々は、より多くの情報をここで見つけました https://qiita.com/kouji0705/items/945baaeab0a476550c40著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .