1 year ago
#381024

Mateusz Konopelski
sqlAlchemy ORM DDL (cx_Oracle.DatabaseError) ORA-00904: : invalid identifier
I've prepared test case based on sqlAlchemy documentation: https://docs.sqlalchemy.org/en/14/orm/tutorial.html#declare-a-mapping
installation versions:
cx-Oracle==8.2.1
psycopg2-binary==2.9.1
SQLAlchemy==1.4.21
DB Version:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
DDL:
import urllib
from sqlalchemy.orm import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(VARCHAR2(10))
fullname = Column(VARCHAR2(10))
nickname = Column(VARCHAR2(10))
def __repr__(self):
return "<User(name='%s', fullname='%s', nickname='%s')>" % (
self.name, self.fullname, self.nickname)
PASSWORD = 'pass'
conn_str = (f"oracle+cx_oracle://AIM:{urllib.parse.quote_plus(PASSWORD)}@host:1521/?service_name=service")
engine = create_engine(conn_str)
Base.metadata.create_all(engine)
And I get really weird error:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: : invalid identifier
[SQL:
CREATE TABLE users (
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/4xp6)
python-3.x
sqlalchemy
cx-oracle
0 Answers
Your Answer