建立完環境之後,我們需要在Django的設定中,也告訴Django 資料庫的資訊,Django 才會知道他要去哪裡連接資料庫。
修改建立好的 fast_api 資料夾中 settings.py 的 Database 設定
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db',
'USER': 'admin',
'PASSWORD': '12345678',
'HOST': 'db',
'PORT': '3306',
}
}
Engine中填入使用的資料庫之資源
例如:
sqlite :django.db.backends.sqlite3
mysql : django.db.backends.mysql
postgresql : django.db.backends.postgresql
NAME, USER, PASSWORD, HOST, PORT 填入預先設定的參數
MySQL相關設定可參考
https://dev.mysql.com/doc/refman/8.0/en/option-files.html
https://mysqlclient.readthedocs.io/user_guide.html#functions-and-attributes
Model / Migration 是 Django 裡面非常好用的機制,它可以幫助開發者紀錄/更新,資料庫的欄位版本。
如果沒有用框架,我們要需要更改資料庫的設定或欄位時,需要直接對資料庫進行操作。單是透過 Model Migration 機制,我們可以透過 Django 的 Model 程式碼對資料庫進行定義及修改,並透過Migration 機制對資料庫進行更新。
在這邊我們先進行Migration 的設定。
首先建立 migration
docker-compose run app sh -c "python manage.py makemigrations"
透過migrate,對資料庫進行修改
docker-compose run app sh -c "python manage.py migrate"
在資料庫的帳號當中,通常都會有一些“天神”帳號,在這邊我們叫它superuser,他們擁有資料庫最大的權限,可以做任何的操作。
我們透過 createsuperuser 來建立 superuser 帳號。
docker-compose run app sh -c "python manage.py createsuperuser"
以上為 Django 設定資料庫的部分,資料庫設定還有更多細部的部分,有興趣的可以參考官網以及上面附的相關文件。