It seems that I am wrong since I do see all column names in uppercase using 
sql developer (all but reserved words) so I don't know how this happened 
since my models are all lowercase (could it be Base.metadata.create_all?) 
but that is indeed the problem.
Using 'SCOPE' in the alter method does solve the issue (I just hope it 
wouldn't introduce problems with mysql...)

Thanks.

On Monday, July 11, 2016 at 6:40:09 PM UTC+3, Ofir Herzas wrote:
>
> For sure the table was not created using capital letters or quotes but 
> I'll try your suggestion, thanks.
> On Jul 11, 2016 6:02 PM, "Mike Bayer" <mike...@zzzcomputing.com> wrote:
>
>>
>>
>> On 07/11/2016 10:48 AM, Ofir Herzas wrote:
>>
>>> Alembic 0.8.6
>>> cx-Oracle 5.1.3
>>> SQLAlchemy 1.0.14
>>>
>>>
>>> I have a column named "scope" (without the double quotes) with an
>>> existing type of SmallInt and I'm trying to change it to an Integer with
>>> the following line:
>>> |
>>>
>>> op.alter_column('t_rule','scope',existing_type=sa.SmallInteger(),type_=sa.Integer())
>>> |
>>>
>>> Unfortunately, this results with the following error:
>>> |
>>> sqlalchemy.exc.DatabaseError:(cx_Oracle.DatabaseError)ORA-00904::invalid
>>> identifier
>>>  [SQL:'ALTER TABLE t_rule MODIFY scope INTEGER']
>>> |
>>>
>>> I have found out that the following syntax does work:
>>> |
>>> ALTER TABLE t_rule MODIFY "SCOPE"INTEGER;
>>> |
>>>
>>> (Notice the caption of "scope" and the double quotes)
>>>
>>> I'm not sure why this happens since /scope /doesn't seem to be a
>>> reserved word.
>>>
>>> Is it a bug or am I doing something wrong?
>>>
>>
>> If "scope" is not a reserved word, then I'd suggest that the table was 
>> created using quoted "SCOPE" as the column name here, so that it is 
>> case-sensitive and will only match if quoted and uppercased.   If you 
>> passed the name as all uppercase SCOPE to alter_column it should trip the 
>> "case sensitive" flag and quote it.  There are more direct ways to turn on 
>> the quoting if that doesn't work.
>>
>>
>>
>>
>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "sqlalchemy-alembic" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to sqlalchemy-alembic+unsubscr...@googlegroups.com
>>> <mailto:sqlalchemy-alembic+unsubscr...@googlegroups.com>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "sqlalchemy-alembic" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/sqlalchemy-alembic/FwVRUgcdVtg/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> sqlalchemy-alembic+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy-alembic" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy-alembic+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to