doableware / djongo

Django and MongoDB database connector
https://www.djongomapper.com
GNU Affero General Public License v3.0
1.86k stars 352 forks source link

SQLDecodeError - Keyword: PRIMARY #621

Open pimuzzo opened 2 years ago

pimuzzo commented 2 years ago

Traceback

Not implemented alter command for SQL ALTER TABLE "django_q_task" ADD COLUMN "id" string NOT NULL PRIMARY KEY                                                                                                      
Traceback (most recent call last):                                                                                                                                                                                 
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/cursor.py", line 51, in execute                                                                                          
    self.result = Query(                                                                                                                                                                                           
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 784, in __init__                                                                               
    self._query = self.parse()                                                                                                                                                                                     
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 876, in parse                                                                                  
    raise e                                                                                                                                                                                                        
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 857, in parse                                                                                  
    return handler(self, statement)                                                                                                                                                                                
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 889, in _alter                                                                                 
    query = AlterQuery(self.db, self.connection_properties, sm, self._params)                                                                                                                                      
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 425, in __init__                                                                               
    super().__init__(*args)                                                                                                                                                                                        
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 84, in __init__                                                                                
    super().__init__(*args)                                                                                                                                                                                        
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 62, in __init__                                                                                
    self.parse()                                                                                                                                                                                                   
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 435, in parse                                                                                  
    self._add(statement)                                                                                                                                                                                           
  File "/home/pimo/.pyenv/versions/django-pocs-3.10.4/lib/python3.10/site-packages/djongo/sql2mongo/query.py", line 599, in _add                                                                                   
    raise SQLDecodeError(err_key=tok.value,                                                                                                                                                                        
djongo.exceptions.SQLDecodeError:                                                                                                                                                                                  

        Keyword: PRIMARY                                                                                                                                                                                           
        Sub SQL: ALTER TABLE "django_q_task" ADD COLUMN "id" string NOT NULL PRIMARY KEY                                                                                                                           
        FAILED SQL: ('ALTER TABLE "django_q_task" ADD COLUMN "id" string NOT NULL PRIMARY KEY',)                                                                                                                   
        Params: ([],)                                                                                                                                                                                              
        Version: 1.3.6 
gwanghyeongim commented 1 month ago

I have similar issue.

 File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/cursor.py", line 51, in execute
    self.result = Query(
                  ^^^^^^
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 781, in __init__
    self._query = self.parse()
                  ^^^^^^^^^^^^
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 873, in parse
    raise e
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 854, in parse
    return handler(self, statement)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 930, in _select
    return SelectQuery(self.db, self.connection_properties, sm, self._params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 116, in __init__
    super().__init__(*args)
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 62, in __init__
    self.parse()
  File "/Users/gwanghyeongim/Documents/revhat/basecamp/.venv/lib/python3.12/site-packages/djongo/sql2mongo/query.py", line 155, in parse
    raise SQLDecodeError(f'Unknown keyword: {tok}')
djongo.exceptions.SQLDecodeError:

        Keyword: Unknown keyword: ORDER BY
        Sub SQL: None
        FAILED SQL: ('SELECT "history_erplog"."id", "history_erplog"."desc", "history_erplog"."model", "history_erplog"."model_id", "history_erplog"."before_value", "history_erplog"."modified_value", "history_erplog"."create_user_id", "history_erplog"."create_user_name", "history_erplog"."travel_agent_id", "history_erplog"."created_time", "history_erplog"."type", "history_erplog"."reservation_code" FROM "history_erplog" WHERE ("history_erplog"."model" = %(0)s AND "history_erplog"."model_id" = %(1)s AND "history_erplog"."travel_agent_id" = %(2)s AND "history_erplog"."model" = %(3)s AND "history_erplog"."model_id" = %(4)s AND "history_erplog"."travel_agent_id" = %(5)s) ORDER BY "history_erplog"."created_time" DESC LIMIT 15',)
        Params: ((21, 757, 1, 21, 757, 1),)
        Version: 1.3.9

djongo5 1.3.9, since djongo itself is incompatible with django 4.2 python3.12 django 4.2

gwanghyeongim commented 1 month ago

I removed djongo from my project, since this package is not actively maintained.