Monday, April 29, 2019

Re: Unable to create the django_migrations table (ORA-00907: missing right parenthesis)

Bonjour tout le monde et merci pour vous différents retours. J'ai donc pris une la version 1.11 de django et 6.4.1 de cx_Oracle car ne pouvant pas utiliser la version 12 d'Oracle. Je travaille sur une base qui est utilisée en prod. Ensuite après avoir lancé la commande migrate je me suis confronté à un autre problème : 
  File "C:\Python37-32\lib\site-packages\django\contrib\admin\options.py", line 12, in <module>
    from django.contrib.admin import helpers, widgets
  File "C:\Python37-32\lib\site-packages\django\contrib\admin\widgets.py", line 151
    '%s=%s' % (k, v) for k, v in params.items()

Pour résoudre ce dernier j'ai enlevé une virgule à la fin de l'instruction dans le fichier widgets.py ligne 152 (https://code.djangoproject.com/ticket/29565)
Ensuite j'ai encore eu un autre problème : 
  File "C:\Python37-32\lib\site-packages\django\db\backends\oracle\base.py", line 404, in __init__
    self.cursor.numbersAsStrings = True
AttributeError: 'cx_Oracle.Cursor' object has no attribute 'numbersAsStrings'

Pour résoudre ce problème j'ai mis en commentaire l'instruction "self.cursor.numbersAsStrings = True" à la ligne 404 du fichier "base.py" et les tables ont été créées. Grand Merci encore une fois.

  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

Le samedi 27 avril 2019 19:56:34 UTC, tossouwisdom a écrit :
Django 2.2.2
Cx_oracle 7.2
base Oracle 11g

When I run the django migrate commande, i have error django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (ORA-00907: missing right parenthesis)
  Operations to perform:    Apply all migrations: admin, auth, contenttypes, sessions  Running migrations:  Traceback (most recent call last):    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 82, in _execute      return self.cursor.execute(sql)    File "C:\Python37-32\lib\site-packages\django\db\backends\oracle\base.py", line 510, in execute      return self.cursor.execute(query, self._param_generator(params))  cx_Oracle.DatabaseError: ORA-00907: missing right parenthesis    The above exception was the direct cause of the following exception:    Traceback (most recent call last):    File "C:\Python37-32\lib\site-packages\django\db\migrations\recorder.py", line 67, in ensure_schema      editor.create_model(self.Migration)    File "C:\Python37-32\lib\site-packages\django\db\backends\base\schema.py", line 307, in create_model      self.execute(sql, params or None)    File "C:\Python37-32\lib\site-packages\django\db\backends\base\schema.py", line 137, in execute      cursor.execute(sql, params)    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 99, in execute      return super().execute(sql, params)    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 67, in execute      return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers      return executor(sql, params, many, context)    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 84, in _execute      return self.cursor.execute(sql, params)    File "C:\Python37-32\lib\site-packages\django\db\utils.py", line 89, in __exit__      raise dj_exc_value.with_traceback(traceback) from exc_value    File "C:\Python37-32\lib\site-packages\django\db\backends\utils.py", line 82, in _execute      return self.cursor.execute(sql)    File "C:\Python37-32\lib\site-packages\django\db\backends\oracle\base.py", line 510, in execute      return self.cursor.execute(query, self._param_generator(params))  django.db.utils.DatabaseError: ORA-00907: missing right parenthesis    During handling of the above exception, another exception occurred:    Traceback (most recent call last):    File "manage.py", line 21, in <module>      main()    File "manage.py", line 17, in main      execute_from_command_line(sys.argv)    File "C:\Python37-32\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line      utility.execute()    File "C:\Python37-32\lib\site-packages\django\core\management\__init__.py", line 375, in execute      self.fetch_command(subcommand).run_from_argv(self.argv)    File "C:\Python37-32\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv      self.execute(*args, **cmd_options)    File "C:\Python37-32\lib\site-packages\django\core\management\base.py", line 364, in execute      output = self.handle(*args, **options)    File "C:\Python37-32\lib\site-packages\django\core\management\base.py", line 83, in wrapped      res = handle_func(*args, **kwargs)    File "C:\Python37-32\lib\site-packages\django\core\management\commands\migrate.py", line 234, in handle      fake_initial=fake_initial,    File "C:\Python37-32\lib\site-packages\django\db\migrations\executor.py", line 91, in migrate      self.recorder.ensure_schema()    File "C:\Python37-32\lib\site-packages\django\db\migrations\recorder.py", line 69, 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-00907: missing right parenthesis)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/bcc5d01c-9467-4193-947e-f971ce1ba125%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment