0

我正在尝试将我的 Django 应用程序从 SQLite3 迁移到 MySql。我采取了以下步骤

  1. 在 MySql 上配置了一个新的空数据库。我没有创建任何表,因为我假设这些表将由 migrate 命令创建。
  2. 创建了一个有权访问此数据库的新用户CREATE USER 'djangouser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';GRANT ALL ON djangoappdb.* TO 'djangouser'@'%';
  3. 停止了服务器
  4. 使用转储所有数据到文件python3 manage.py dumpdata > currData
  5. 删除了所有现有的迁移
  6. 重新运行python3 manage.py makemigrations。此步骤创建了一个新的迁移文件
  7. 更改了 setting.py 文件以使用正确的用户名和密码的 MySql 和 djangoappdb。
  8. 跑了python3 manage.py migrate命令。我收到以下错误
...
File "/usr/local/lib/python3.8/dist-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/usr/local/lib/python3.8/dist-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)
django.db.utils.ProgrammingError: (1146, "Table 'djangoappdb.djangoapp_customuser' doesn't exist")

customuser 是应用程序中的模型之一。我应该手动创建表吗?

EDIT2这是 customuser 模型,以防被请求

from django.contrib.auth.models import AbstractUser, Group
# CustomUser:
class CustomUser(AbstractUser):
    pass
    # add additional fields later

    def __str__(self):
        return self.username
4

0 回答 0