What steps will reproduce the problem?
1. Create a database on Oracle with default cased identifiers. Say, "create
table documents;"
2. Create a script to add a column to the table. Use sqlalchemy default
casing (all lower case, see
http://www.sqlalchemy.org/docs/reference/dialects/oracle.html#identifier-casing
for detail). The script might look like the one attached.
3. Run the script on the unmigrated database.
What is the expected output? What do you see instead?
It should run, as sqlalchemy handles the Oracle default UPPERCASE of
identifiers. Normal sqlalchemy operations do work. However, trying to run
this script reports the error:
sqlalchemy.exc.DatabaseError: (DatabaseError) ORA-00942: table or view
does not exist
'\nALTER TABLE "documents" ADD category VARCHAR(256)' {}
Something has quoted the name "documents", thus indicating to oracle that
this table name is lower-case and not the default upper case. In other
words, it appears as if sqlalchemy-migrate is not following the same
convention for quoting identifiers as sqlalchemy.
What version of the product are you using? On what operating system?
Windows 7 Pro 32-bit, Python 2.6.4, Sqlalchemy 0.5.6, sqlalchemy-migrate
0.5.4, cxOracle
Original issue reported on code.google.com by jaraco%jaraco.com@gtempaccount.com on 28 Mar 2010 at 12:14
Original issue reported on code.google.com by
jaraco%jaraco.com@gtempaccount.com
on 28 Mar 2010 at 12:14Attachments: