0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.js,Prisma,MySQL環境をDockerで構築する

Posted at

今回は備忘録として記録に残しておこうと思います

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

順番に編集していきます

docker-compose.yaml
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:
docker/mysql/sql/1_init.sql
GRANT CREATE, ALTER, DROP, REFERENCES ON *.* to 'docker' @'%';
.env
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
schema.prisma
// 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

これで完了!

参考にさせていただいた記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?