Thanks,
I see that deleting this post had no affect :)

Right after I posted this question I found out that I can pass the name in
the Boolean type (like you suggested in the first place), so the alter
column worked.

Sorry for the trouble and thank you for your assistance.
On Dec 12, 2015 12:10 AM, "Mike Bayer" <mike...@zzzcomputing.com> wrote:

>
>
> On 12/11/2015 04:39 PM, Ofir Herzas wrote:
> > Hi Mike,
> > I've just checked my code and I noticed that I already use existing_type
> > (not sure what was wrong with the documentation in that aspect).
> >
> > Can you elaborate a bit on specifying custom rules as you mentioned?
> > I tried issuing a drop_constraint before calling the alter_column but
> > that doesn't stop alter_column from trying to remove the check
> > constraint by itself, leading to the same exception.
> > On the other hand, I didn't see any parameter in the alter_column method
> > that accepts a constraint name
>
> You can call the drop_constraint(), then when you do the alter_column,
> inside the existing_type put "create_constraint=False", so that it sees
> it as an un-constrainted type.
>
>
> drop_contraint('constraint_name')
> alter_column('table', 'column', type=NewType(),
> existing_type=Boolean(create_constraint=False))
>
>
>
>
> >
> > Thanks,
> > Ofir
> >
> >
> > On Thursday, December 10, 2015 at 3:39:42 PM UTC+2, Ofir Herzas wrote:
> >
> >     I'm trying to run an alter_column operation from a Boolean type
> >     column to SmallInteger on Oracle.
> >
> >     According to the documentation: "...Type changes which are against
> >     the SQLAlchemy “schema” types |Boolean|
> >     <
> http://www.sqlalchemy.org/docs/core/type_basics.html#sqlalchemy.types.Boolean>
> and |Enum|
> >     <
> http://www.sqlalchemy.org/docs/core/type_basics.html#sqlalchemy.types.Enum>
> may
> >     also add or drop constraints which accompany those types on backends
> >     that don’t support them natively.
> >     The |existing_server_default| argument is used in this case as well
> >     to remove a previous constraint...."
> >
> >     Does this mean that the alter column should work out-of-the-box or
> >     do I have to remove the constraint myself because I'm getting the
> >     following error on alembic 0.8.3 (sqlalchemy 1.0.9):
> >
> >     |
> >     sqlalchemy.exc.CompileError:Can't emit DROP CONSTRAINT for
> >     constraint CheckConstraint(<sqlalchemy.sql.elements.BinaryExpression
> >     object at 0x28a9b10>, name='_unnamed_', table=Table('t_message',
> >     MetaData(bind=None), Column('is_bulletin', Boolean(),
> >     table=<t_message>), schema=None),
> >     _create_rule=<sqlalchemy.util.langhelpers.portable_instancemethod
> >     object at 0x289ac68>, _type_bound=True); it has no name
> >     |
> >
> >
> >     And on a previous version (alembic 0.6.5, sqlalchemy 0.9.7) I got
> >     the following error:
> >
> >     |
> >     sqlalchemy.exc.DatabaseError:(DatabaseError)ORA-02443:Cannotdrop
> >     constraint  -nonexistent constraint
> >      'ALTER TABLE t_message DROP CONSTRAINT None'{}
> >     |
> >
> >
> >     Your help will be appreciated...
> >
> > --
> > 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/OPctuividc0/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