中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django如何將默認的SQLite更換為MySQL

發布時間:2021-06-04 15:10:42 來源:億速云 閱讀:213 作者:小新 欄目:開發技術

小編給大家分享一下Django如何將默認的SQLite更換為MySQL,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1、注釋默認的SQLite3配置:

blogproject/settings.py
'''
DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.sqlite3',
  'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 }
}
'''

2、添加MySQL配置(配置你自己的mysql庫前提是你已經有能夠供自己使用的MySQL庫了)

DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql', #固定配置
  'HOST': '127.0.0.1',#mysql地址
  'PORT': '3306',#端口號
  'NAME': 'guest',#庫名(組名)
  'USER': 'root',#用戶
  'PASSWORD': '123456',#密碼
  'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", },
 }
}

遷移數據庫

為了讓 Django 完成翻譯,使用我們在modele.py已經創建好的這些數據庫表,我們請出我的工程管理助手 manage.py。激活虛擬環境,切換到 manage.py 文件所在的目錄下,分別運行 python manage.py makemigrations和 python manage.py migrate命令:

PS D:\xuexi\python\\django2\blogproject> python manage.py makemigrations
Migrations for 'blog':
 blog\migrations\0001_initial.py:
 - Create model Category
 - Create model Post
 - Create model Tag
 - Add field tags to post
PS D:\xuexi\python\web接口開發\django2\blogproject> python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, blog, contenttypes, sessions
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying admin.0002_logentry_remove_auto_add... OK
 Applying contenttypes.0002_remove_content_type_name... OK
 Applying auth.0002_alter_permission_name_max_length... OK
 Applying auth.0003_alter_user_email_max_length... OK
 Applying auth.0004_alter_user_username_opts... OK
 Applying auth.0005_alter_user_last_login_null... OK
 Applying auth.0006_require_contenttypes_0002... OK
 Applying auth.0007_alter_validators_add_error_messages... OK
 Applying auth.0008_alter_user_username_max_length... OK
 Applying blog.0001_initial... OK
 Applying sessions.0001_initial... OK

僅供參考你的數量可能沒有這么多

當我們執行了 python manage.py makemigrations后,Django 在 blog 應用的 migrations\ 目錄下生成了一個 0001_initial.py文件,這個文件是 Django 用來記錄我們對模型做了哪些修改的文件。目前來說,我們在 models.py 文件里創建了 3 個模型類,Django 把這些變化記錄在了 0001_initial.py里。

不過此時還只是告訴了 Django 我們做了哪些改變,為了讓 Django 真正地為我們創建數據庫表,接下來又執行了 python manage.py migrate命令。Django 通過檢測應用中 migrations\ 目錄下的文件,得知我們對數據庫做了哪些操作,然后它把這些操作翻譯成數據庫操作語言,從而把這些操作作用于真正的數據庫。

如果你使用的是mysql會生成0001_auto_20180507_2145.py

如果你需要在mysql和SQLite3之間切換你需要重新執行python manage.py makemigrations和 python manage.py migrate命令,而且你原來庫中的數據不會轉移(執行完上面兩個命令只會在新的數據庫中創建modele.py中的表)。

看完了這篇文章,相信你對“Django如何將默認的SQLite更換為MySQL”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西吉县| 雅江县| 花垣县| 棋牌| 大宁县| 石楼县| 鹿泉市| 台北市| 云浮市| 景宁| 平南县| 鄂尔多斯市| 福建省| 班玛县| 新巴尔虎右旗| 礼泉县| 武强县| 全南县| 安岳县| 榆中县| 洛扎县| 华池县| 开远市| 都江堰市| 马关县| 蓬安县| 保山市| 织金县| 宜都市| 桃源县| 三门县| 西贡区| 兴义市| 乌兰察布市| 青冈县| 琼结县| 安达市| 罗甸县| 枣强县| 丰城市| 兰州市|