Django3.2.8 不能创建表 Oracle版本为11g


Operations to perform:
  Apply all migrations: PayrollApp, admin, auth, contenttypes, sessions
Running migrations:
Traceback (most recent call last):
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\oracle\base.py", line 523, in execute
    return self.cursor.execute(query, self._param_generator(params))
cx_Oracle.DatabaseError: ORA-02000: missing ALWAYS keyword

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\migrations\recorder.py", line 68, in ensure_schema
    editor.create_model(self.Migration)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\base\schema.py", line 345, in create_model
    self.execute(sql, params or None)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\base\schema.py", line 145, in execute
    cursor.execute(sql, params)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 98, in execute
    return super().execute(sql, params)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\backends\oracle\base.py", line 523, in execute
    return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-02000: missing ALWAYS keyword

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management\__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management\base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management\base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\core\management\commands\migrate.py", line 246, in handle
    fake_initial=fake_initial,
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\migrations\e    self.recorder.ensure_schema()
  File "D:\software\anaconda\envs\PayrollManagementSystem\lib\site-packages\django\db\migrations\recorder.py", line 70, in ensure_schema
    raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)       
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (ORA-02000: missing ALWAYS keyword)******



Django 3.2.8 Python 3.7.11 Oracle 11.2.0.1.0

我知道是11g不支持自增长序列,有没有解决这个问题的办法(除了更新Oracle和降低Django版本 Django版本 降低要跨版本 到时候问题会更多)

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。