问题描述
在 mysite.settings.py 我有:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.path.join(BASE_DIR, 'test'),
#'NAME': 'test',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}}
当我在 PyCharm 终端中运行 'python manage.py migrate' 时,没有任何反应,没有错误消息等。没有在指定的数据库中创建新表。 如您所见,我为 NAME 尝试了两件事。
MySQL 服务器版本 8.0.19 MySQL 连接器/Python 8.0.19 Python 版本 3.8 在 PyCharm 我安装了包 mysqlclient 1.4.6。
关于如何找到问题的任何建议? 如何获取错误信息?
谢谢
1楼
DATABASES
属性指定您的数据库配置。
现在NAME
是指定您的数据库名称的属性。
目前这里'NAME': os.path.join(BASE_DIR, 'test'),
不会工作,因为它会给你类似C:/YourUser/YourPath...
所以这个字符串不是一个有效的数据库名称。 basically (os.path.join() returns a path to your project directory)
首先在 MySql 上手动创建一个数据库,记下名称并将其作为'Name': DBNAME
in SETTINGS.py
放在属性中。
(确保在运行以下命令时设置了环境)然后尝试使用python manage.py makemigrations
来检查迁移更改,如果到这里一切正常,则启动python manage.py migrate
命令。