2017-09-27 1 views
0

:장고 - 설정에서 데이터베이스 URL과 MySQL을 엄격 모드 내가 좋아하는 내 설정에서 데이터베이스 URL 문자열을 사용하고

DATABASES = { 
    'default': "mysql://root:@localhost:3306/mydb" 
} 

나는이 경고 얻을 마이그레이션 할 때 : 이제 내를

MySQL Strict Mode is not set for database connection 'default' 

을 질문 : 어떻게 두 가지를 결합 할 수 있습니까?

내 데이터베이스 URL이 환경 변수에서 나왔기 때문에 "정규"방식으로 사전을 사용하여 데이터베이스 설정을 지정할 수 없습니다.

미리 Thx! 워드 프로세서 나는이 하나가 당신을 도울 것입니다 생각

+0

당신이 [DJ-데이터베이스 URL을] 시도 않은 URL에서 쿼리 문자열로 옵션에게 그것을을 할 수 전달할 수 있습니다 도와 드릴까요? –

+0

@BearBrown이 작동하지만 다른 플러그인을 사용하지 않는 방법이 없습니까? – Ron

+0

당신이 스 니펫을 추가 할 때만 아니오라고 생각합니다. 그러나 플러그인의 코드와 비슷합니다. –

답변

0
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'test', 
     'HOST': '127.0.0.1', 
     'PORT': '3306', 
     'USER': 'root', 
     'PASSWORD': 'test123', 
     'OPTIONS': { 
      'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", 
      'charset': 'utf8mb4', 
     } 
    } 
} 

봅니다 settings.py 에서 데이터베이스 옵션의 init_command을 제공합니다. 당신은 (https://github.com/kennethreitz/dj-database-url)

DATABASES = { 
    'default': dj_database_url.config(default="mssql://USER:[email protected]:PORT/NAME?init_command=SET sql_mode='STRICT_TRANS_TABLES'&charset=utf8mb4", conn_max_age=500) 
} 
+0

입력을위한 thx하지만 나는 내 질문에 내가 사전을 사용할 수 없다고 말했듯이, 나는 URL 문자열을 고수해야한다. 그것에 관한 어떤 생각? – Ron

+0

지금 당신이 옳다고 말하면서야 ?? – Robert

+0

미안하지만, 무슨 뜻인지 알지 못해. – Ron

관련 문제