Maria DB (MySQL과 거의 똑같음) 사용법
1. brew install mariadb : mariadb 설치
외부DB 연결 방법
pip install mysqlclient
my_settings.py를 따로 만들어준다.
(settings.py의 SECRET_KEY와 DATABASES는 외부로 노출되면 안되므로)
mySECRET_KEY = 'z7_loqfmp)_8+f*=5dp#sdfefi%%!$)dfjskfl'
myDATABASES = {
'default' : {
'ENGINE' : 'django.db.backends.mysql', # 벡엔드 엔진
'NAME' : 'mysql', # 'mysql'의 이름을 가진 데이터베이스
'USER' : 'root', # 계정
'PASSWORD' : '&&&&&&&', #rootpassword로 지정할 숫자(6번에 나와있음)
'HOST' : '127.0.0.1',
'PORT' : '3306'
}
}
from .my_settings import mySECRET_KEY, myDATABASES
SECRET_KEY = mySECRET_KEY
DATABASES = myDATABASES
/usr/local/bin 으로 이동한다.
(다른 블로그에서는 /usr/local/mysql/bin 로 이동하라고 나와있었지만, /usr/local/bin으로 이동해야 작동했음)
mysql.server start : 데이터베이스 서버 시작을 위하여 다음의 명령어를 친다.
mysql.server start : 데이터베이스 서버 시작
mysql.server stop : 실행중인 데이터베이스 서버 멈춤
mysql.server status : 실행중인 서버의 상태 확인
mysql -u root -p : 서버에 접속하기
위의 명령어를 치면 password를 입력하라고 하는데, 생성한 password가 없어서 어떻게 해야할지 몰랐다.
sudo mysql -u -root 을 치면 password : 가 나오는데 이때, 내가 자주 쓰는 비밀번호를 그냉 입력하니 접속이 되었다.
USE mysql; : mysql 데이터베이스로 이동한다. (내가 프로젝트에서 쓸 db)
접속 후 SET PASSWORD=PASSWORD('&&&&&&')을 하여 새로운 비밀번호를 설정한 후
exit을 눌러서 MariaDB를 나간다.
다시 mysql -u root -p : 에서 새로 지정한 password를 입력하면 접속이 된다.
python manage.py makemigrations
python manage.py migrate
이전에 python manage.py migrate을 했었는데 코드에 에러가 있어서 수정한 후 다시 migrate을 했었다.
그런데 django.db.utils.OperationalError: (1050, "Table 'customer_userinfo' already exists") 와 같은 에러문이 떴다.
구글링을 해보니 python manage.py migrate --fake 앱이름 을 작성하면 된다 해서 python manage.py migrate --fake customer을 해주니 migrate이 되었다.(아마도 제대로 해결하려면 테이블을 삭제한 후 다시 migrate을 해야될 것으로 보인다.)