Prismaのインストールと初期設定
- 下記コマンドを実行
npm init -y
npm install prisma
npx prisma init
- 「.env」ファイルにDBの接続情報を記載
.env
DATABASE_URL="mysql://root:mysql@localhost:33306/test_db"
テーブルの作成と反映
- 「schema.prisma」ファイルにテーブル情報を作成します
schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
name String
nickname String?
}
- 下記コマンドを実行するとテーブルが作成されます
npx prisma migrate dev
テーブルの変更と反映
- 文字列長の変更と項目を追加します
schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
name String @db.VarChar(60)
nickname String? @db.VarChar(60)
remarks1 String? @db.VarChar(250)
remarks2 String? @db.VarChar(250)
}
- 下記コマンドを実行するとテーブルが変更されます
npx prisma migrate dev
コマンド実行時にmigration.sqlファイルに差分が保存されます
- migration.sqlファイルの中身はcreate文やalter文になります
migrations
│ migration_lock.toml
├─20231211003530_init
│ migration.sql
└─20231211015124_
migration.sql
20231211003530_init/migration.sql
-- CreateTable
CREATE TABLE `User` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`email` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`nickname` VARCHAR(191) NULL,
UNIQUE INDEX `User_email_key`(`email`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
220231211015124_/migration.sql
-- AlterTable
ALTER TABLE `User` ADD COLUMN `remarks1` VARCHAR(250) NULL,
ADD COLUMN `remarks2` VARCHAR(250) NULL,
MODIFY `name` VARCHAR(60) NOT NULL,
MODIFY `nickname` VARCHAR(60) NULL;
DBの接続先を変更したい場合
- dotenvを使用する必要があるため、下記コマンドでインストールする
npm install dotenv --save
- 接続先の設定ファイル名が「.evn.test」の場合の例
dotenv -e .evn.test -- yarn prisma migrate dev