728x90
반응형
django는 기본적으로 sqlite를 사용하고 있다.
또한 mysql을 디폴트로 설정을 하게 되면 models를 통해 Table 생성 시 기본 엔진은 MyISAM으로 설정되어 있다.
DB 엔진에 대한 구분은 여기서 논하지 않겠습니다.
Mysql Inno를 사용하기 위해서 설정하는 방법입니다.
설정은 settings.py에서 설정을 하게 됩니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'share_res',
'USER': 'root',
'PASSWORD': 'apmsetup',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
기본적으로 설정한 DB 정보이다.
이부분에서 OPTION을 추가하여 엔진을 설정할 수가 있다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'share_res',
'USER': 'root',
'PASSWORD': 'apmsetup',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'init_command': 'set storage_engine=InnoDB;',
'autocommit': False,
'charset': 'utf8'
}
}
}
위의 설정중 init_command를 보면 된다. 여기서 set storage_engine를 보면 innoDB를 볼 수 있다.
기타로 autocommit 여부와 캐릭터셋을 설정했다.
이후 프로젝트 APP 폴더에서 manage.py가 있는 폴더에서 makemigrations후에 migrate를 하면 DB innoDB로 생성된 테이블을 확인할 수가 있다.
python manage.py makemigrations
python manage.py migrate
Mysql InnoDB 엔진 설정은 이거로 끝!!
728x90
반응형
'Dev > Django' 카테고리의 다른 글
django model Table 삭제 방법 (1) | 2020.10.20 |
---|---|
내부망 접속 방법 (0) | 2020.10.19 |
Django-DATABASES init_command 멀티 설정 (0) | 2020.08.31 |
Django-한국시간 설정 (0) | 2020.08.31 |
django3.x-mysql 5.1 migrate 오류 (0) | 2020.08.25 |