djongo icon indicating copy to clipboard operation
djongo copied to clipboard

Django rest framework social oauth2 causing unexpected error with Djongo for mongoDB conversion of django app

Open anakin421 opened this issue 4 years ago • 1 comments

I am using Django rest framework social oauth2 for authentication in one Django app. For development purposes, I have used this package with Sqlite3 (SQL database) and it works perfectly. However, now I want to migrate this Django app to MongoDB (NoSQL database) via using Djongo. After implementing all the required changes it is showing this bizarre error. I have seen everywhere couldn't find a relevant solution

After adding this command:

**python manage.py migrate**

Operations to perform:
Apply all migrations: admin, auth, contenttypes, oauth2_provider, sessions, social_django

Running migrations:

Not implemented alter command for SQL ALTER TABLE "oauth2_provider_accesstoken" ADD COLUMN "source_refresh_token_id" long NULL UNIQUE

Applying oauth2_provider.0001_initial...Traceback (most recent call last):
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/cursor.py", line 51, in execute
self.result = Query(
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 783, in init
self._query = self.parse()
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 875, in parse
raise e
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 856, in parse
return handler(self, statement)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 888, in _alter
query = AlterQuery(self.db, self.connection_properties, sm, self._params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 425, in init
super().init(*args)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 84, in init
super().init(*args)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 62, in init
self.parse()
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 435, in parse
self._add(statement)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/sql2mongo/query.py", line 598, in _add
raise SQLDecodeError(err_key=tok.value,
djongo.exceptions.SQLDecodeError:

Keyword: long
Sub SQL: ALTER TABLE "oauth2_provider_accesstoken" ADD COLUMN "source_refresh_token_id" long NULL UNIQUE
FAILED SQL: ('ALTER TABLE "oauth2_provider_accesstoken" ADD COLUMN "source_refresh_token_id" long NULL UNIQUE',)
Params: ([],)
Version: 1.3.3

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

Traceback (most recent call last):
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/cursor.py", line 59, in execute
raise db_exe from e
djongo.database.DatabaseError

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

Traceback (most recent call last):
File "manage.py", line 22, in
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/init.py", line 401, in execute_from_command_line
utility.execute()
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/init.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/base.py", line 369, in execute
output = self.handle(*args, **options)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 231, in handle
post_migrate_state = executor.migrate(
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
state = migration.apply(state, schema_editor)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/migrations/migration.py", line 124, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/migrations/operations/fields.py", line 110, in database_forwards
schema_editor.add_field(
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 480, in add_field
self.execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 142, in execute
cursor.execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 100, in execute
return super().execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/utils.py", line 90, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/home/anakin/virtual_envs/js_backend/lib/python3.8/site-packages/djongo/cursor.py", line 59, in execute
raise db_exe from e
django.db.utils.DatabaseError

Thanks for your consideration. Really appreciate it.

anakin421 avatar Jan 01 '21 06:01 anakin421

Same here. Can't figure out the problem

ObaidKhan625 avatar Jun 15 '22 08:06 ObaidKhan625