😊
Next.js,Prisma,MySQL環境をDockerで構築する
今回は備忘録として記録に残しておこうと思います
Dockerの構築
npx create-next-app
ここの設定は各自で
cd app
touch docker-compose.yml
mkdir -p docker/mysql/sql
touch ./docker/mysql/sql/1_init.sql
touch .env
順番に編集していきます
version: '3'
services:
db:
image: mysql:8.0
ports:
- '3307:3306'
environment:
MYSQL_ROOT_PASSWORD: 'root'
MYSQL_USER: 'docker'
MYSQL_PASSWORD: 'docker'
MYSQL_DATABASE: 'test_db'
TZ: 'Asia/Tokyo'
volumes:
- db-store:/var/lib/mysql
- ./docker/mysql/sql:/docker-entrypoint-initdb.d
volumes:
db-store:
GRANT CREATE, ALTER, DROP, REFERENCES ON *.* to 'docker' @'%';
MYSQL_ROOT_PASSWORD = your_root_password
MYSQL_DATABASE = mydatabase
DATABASE_URL = mysql://docker:docker@localhost:3307/test_db
docker compose up -d
npm install prisma --save-dev
npx prisma init
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id String @id @default(cuid())
email String @unique
name String?
password String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
docker compose down --rmi all --volumes
docker compose up -d
prisma migrate dev
npx prisma generate
npx prisma db push
npm install @prisma/client
これで完了!
参考にさせていただいた記事
Discussion