본문 바로가기
Django

django) 장고에 mysql 연동하기

by 빈스터디 2023. 2. 22.

1. 원격 접속이 가능한 DB 서버를 만든다.

 

 

2. config 폴더의 settings.pyDATABASE 부분을 다음과 같이 수정한다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdb',              # DB 이름
        'USER': 'admin',            # 사용자 이름
        'PASSWORD': 'password',      # 설정한 비밀번호
        'HOST': '192.168.232.112',             # DB 접속 IP
        'PORT': '3306',                  # 포트번호
        'OPTIONS': {
            'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"'
        }
    }
}

 

 

3. 수정한 후 mysqlclient를 설치해준다.

pip install mysqlclient

 

 

4. 마이그레이션 폴더를 만들어준다.

python .\manage.py makemigrations

 

 

5. app01 폴더의 models.py에 원하는 코드를 추가한다.

 

6. config 폴더의, setting.py에서 INSTALLED_APPS 부분에 앱 이름을 적는다.

 

 

7. models.py에 추가한 클래스를 장고에 반영하려면 마이그레이션을 다시 생성한 후 수행하여야 한다.

(앱 이름을 생략해도 되지만, 특정 앱을 지정할 때는 적어준다.)

python .\manage.py makemigrations app01

 

 

마이그레이션 수행

python manage.py migrate app01

 

 

7. 다음과 같이 app01 앱 프로젝트 안에 생성된 것을 볼 수 있다.

 

mysql workbench 프로그램을 통해, 현재 테이블 상태를 확인해보면

다음과 같이 반영이 되어 있는 것을 확인할 수 있다.