sql - Django 单元测试要求删除 MariaDB DB:(1007,“无法创建数据库'test_x_django';数据库存在”)
问题描述
我有 django 单元测试,为测试创建了一个 MariaDB 数据库。我正在使用设置文件中的用户名和密码访问数据库并不断收到此错误:
Type 'yes' if you would like to try deleting the test database 'test_x_django', or 'no' to cancel: Got an error creating the test database: (1007, "Can't create database 'test_x_django'; database exists")
这让我每次运行单元测试时都输入“是” - 特别是在中间停止测试之后(不允许 django 删除数据库?)。
我尝试了很多解决方案,包括:尝试使用 root 用户,赋予 django_user 对 'test_x_django' db 的所有权限,赋予 django_user 对 createdb 的权限。在这种情况下,我还没有在线找到 MariaDB 的解决方案。
我的settings.py
文件中的配置是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'x_django',
'USER': 'django_user',
'PASSWORD': 'xxxx',
'HOST': 127.0.0.1,
'PORT': '3306'
}
}
有没有办法让 django 停止提问,并自动删除数据库?
解决方案
只需通过 --keepdb 选项。python manage.py test --keepdb
如果你想保留它。如果您想销毁它,请通过 --noinput python manage.py test --noinput
。
请参阅文档https://docs.djangoproject.com/en/2.2/topics/testing/overview/#the-test-database
推荐阅读
- vue.js - 如何在vue js中将一个函数从一个vue文件调用到另一个vue文件
- javascript - 如何使用codeigniter获取多个文本框中的值
- templates - Meteor blaze 模板不会在 Reactive 变量更改时重新渲染
- python - 在离线 linux 服务器上创建 anaconda env 时管理 python 版本
- windows - cmake-gui 尝试打开但 UI 未显示
- webpack - 如何包含具有多个入口点的正确 webpack 包?
- r - 我在基本安装包和库调用方面遇到问题
- python - 根据另一列的值替换 Pandas DataFrame 中的值
- vue.js - 是否可以在 vuejs 公共文件夹上上传文件?
- android - 在 RecyclerView 中使用 ExoPlayer - 官方方式