Django Migrate命令抛出ORA-00955错误

时间:2018-08-06 16:29:52

标签: python django python-3.x oracle django-models

我有一个oracle 12c现有数据库。

我用inspectdb创建了django模型。 db中的大多数表都没有主键,我假设如果未显式设置pk,则Django会将id列用作表的主键。

此外,我已经在所有模型上设置了managed=True,因此,理想情况下Django应该能够创建id列以供使用。

运行makemigrations时,没有出现任何错误。但是当我之后运行迁移时,出现以下错误:-

return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-00955:
    name is already used by an existing object

任何提示我为什么会收到此错误?

1 个答案:

答案 0 :(得分:0)

更新:-

因此,我发现问题出在最初的迁移本身。由于在我的情况下这些表已经存在,因此在首次尝试迁移时可能会将其当作重复的对象名称。我必须伪造初始迁移,以便它仅检查模型的表是否存在以及随后是否迁移。下面是相同的命令。它运行良好,并且我的初始迁移成功。

python manage.py makemigrations

python manage.py migrate --fake-initial