这是我第一次这样做,所以请耐心等待。
我想做什么:
将我的"settings.py"中的"数据库"设置从"引擎:"django.db.backends.sqlite3"更改为带有测试用户名数据的预填充mysql数据库。
更具体地说, 我想将默认的 django 数据库从 db.sqlite 更改为 mysql 数据库。我尝试使用的 mysql 数据库而不是默认数据库已经有我想使用和测试的用户信息。
到目前为止我做了什么:
我已经验证了几个用户(使用默认的db.sqlite3(,以便能够在当前托管在域上的网站上添加博客文章。
我不确定的是:
更改 settings.py 数据库默认值是我一开始就应该做的事情吗?或者我可以随时更改它而不会冒以前所做的更改的风险吗?
将数据库默认设置替换为如下所示的内容会影响已经存在的用户数据吗?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '{{projectName}}',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': '3306',
}
}
鉴于我已经在域上启动并运行了我的博客网站,正确的方法是什么?
更改 settings.py 数据库默认值是我一开始就应该做的事情吗
是的。每个数据库都是一个不同的实体。假设您有一根软管和一个红色桶(SQlite(和一个蓝色桶(MySQL(。
您不能将软管从红色切换到蓝色,并期望已经倒入的水转移。是的,你应该从一开始就这样做。
将数据库默认设置替换为如下所示的内容会影响已经存在的用户数据吗?
是的
鉴于我已经在域上启动并运行了我的博客网站,正确的方法是什么?
迁移数据。以下是执行此操作的方法:
-
运行
python manage.py dumpdata > datadump.json
-
切换到您的 MySQL 数据库设置。
-
运行
python manage.py loaddata datadump.json
根据您的数据,这可能会起作用,也可能不起作用,但它会让您入门。