[Django] 데이터베이스 세팅하기

울상냥·2023년 3월 2일
0

Django

목록 보기
2/5

프로젝트 생성을 완료하고 db연동을 해주었다..
데이터베이스는 mysql을 사용할 예정


가상환경 진입

$ .\venv\Scripts\activate
시작하기에 앞서 앞으로 모든것은 가상환경 내에서 진행된다.

mysqlclient 설치

$ pip install mysqlclient

app 생성

$ django-admin startapp 앱명

database 생성

create database db명 character set utf8mb4 collate utf8mb4_general_ci;

mysql command로 db를 생성해주었다!


private_setting.py 생성

git 을 사용하고 있기 때문에 보안에 문제될 설정은priate_settings.py에서 관리해주려고 한다.

manage.py와 같은 레벨에 private_setting.py를 생성하고 다음과 같이 작성하였다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db명',
        'USER': 'user명',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

SECRET_KEY = (생략)

setting.py에 있던SECRET_KEY도 해당 파일로 내용을 옮겨 주었다.
gitignore에 해당 파일을 추가해주었다.

settings.py 변경

import private_settings

SECRET_KEY = private_settings.SECRET_KEY
DATABASES = private_settings.DATABASES

private_settings 를 불러와 SECRET_KEYDATABASES를 불러왔다

models.py 작성

from django.db import models

# Create your models here.

class User(models.Model):
    name = models.CharField(max_length=30)

    class Meta:
        db_table = "user"

테스트를 위해 간단한 테이블을 작성해 주었다..!


마이그레이션 생성

$ python manage.py makemigrations

migrate

$ python manage.py migrate

migrate명령을 수행하여 변경사항을 데이터베이스에 적용해주면..


db 확인

$ python manage.py inspectdb

를 실행하여 테이블이 생성되었는지 확인해본다 !

첫 migration이후 기본으로 설치되어있는 앱들에 대한 테이블과 함께 models.py에 작성한 테이블이 생성되어있는것을 확인할 수 있다

mysql cmd에서도 확인해 보았다..


migration 과 model작성법은 따로 더 자세히 알아봐야겠다...!

profile
안되면 되게하라

0개의 댓글