Actually, answered that myself as soon as I pressed 'send'. ;-)

On Jan 30, 7:23 pm, ObjectEvolution <[email protected]> wrote:
> Thanks Michael. So then it looks like my options are to:
>
> 1. Convert the longs.
>
> 2. Declare my columns instead of using reflection so I get the right
> types.
>
> On Jan 30, 7:18 pm, Michael Bayer <[email protected]> wrote:
>
>
>
> > On Jan 30, 2011, at 8:55 PM, ObjectEvolution wrote:
>
> > > Hi,
>
> > > I'm reflecting some tables out of MySQL for a User object and when I
> > > call:
>
> > > user.ID
>
> > > I get a value like this:
>
> > > 10L
>
> > > instead of:
>
> > > 10
>
> > > If I wrap it up like this:
>
> > > int(user.ID)
>
> > > I get:
>
> > > 10
>
> > > It seems that the reflection thinks my int column is a long. Why is
> > > that happening and how can I fix it? Abandon reflection?
>
> > MySQL-python returns ints as Python longs.   They are cross compatible.   
> > SQLA's reflection is not involved.  
>
> > from sqlalchemy import *
>
> > e = create_engine('mysql://scott:tiger@localhost/test')
> > print repr(e.scalar(select([1])))
> > print repr(e.scalar(select([cast(1, Integer)])))
>
> > raw_mysqldb_connection = e.connect().connection
> > cursor = raw_mysqldb_connection.cursor()
> > cursor.execute("select 1")
> > print cursor.fetchall()
>
> > output:
>
> > 1L
> > 1L
> > ((1L,),)

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to