On May 4, 2010, at 1:22 PM, Brad Wells wrote:

> The docs for the MySQL dialect need to be updated to reflect this
> change. See 
> http://www.sqlalchemy.org/docs/reference/dialects/mysql.html#sqlalchemy.dialects.mysql.TINYINT
> 
> For what it's worth I'd really like to see this remain as an optional
> behavior. The BOOL/BOOLEN column types in MySQL are synonyms for
> TINYINT(1). Someone creating columns using BOOLs might reasonably
> expect to reflect that intention when autoloading. Really though, I
> just want a way to avoid manually overriding 200 column definitions.
> Is there a reasonable way to do that as is?

if you reflect as TINYINT you still get a 0/1 back in results and it still 
accepts True/False.    You really need it to give you the "True"/ "False" 
tokens ?

this is not entirely "de facto" in its methodology but this should work for now:

# before create_engine is called

from sqlalchemy.dialects.mysql import base
base.ischema_names['tinyint'] = base.BOOLEAN



> 
> 
> On Mar 27, 5:29 pm, Michael Bayer <[email protected]> wrote:
>> On Mar 27, 2010, at 5:17 PM, Michael Bayer wrote:
>> 
>> 
>> 
>> 
>> 
>>> On Mar 27, 2010, at 4:16 PM, Lloyd Kvam wrote:
>> 
>>>> I've just discovered that some tinyint (8-bit) fields have had their
>>>> values limited to 0 and 1 regardless of actual value supplied.  Digging
>>>> through the documentation, I've learned that when MySQL tables are
>>>> reflected, tinyint(1) fields are processed as booleans.
>> 
>>>> I did not find emails from others howling in pain, so I suppose most
>>>> people are either happy with this behavior or unaffected.  I understand
>>>> why a bool column definition would be mapped to tinyint(1).  However,
>>>> doing the reverse, mapping tinyint(1) to bool, discards bits that MySQL
>>>> would not discard.
>> 
>>>> For me this was a misfeature.  I would think that supplying bools to an
>>>> integer field would work OK.  In python 2 + True == 3.  So people using
>>>> booleans should not have too much difficulty, would they?  Is there any
>>>> chance you'd consider autoloading tinyint(1) as an integer field?
>> 
>>> sure i will remove this behavior today.
>> 
>> it is out in r95ac46ca88ee.
>> 
>> 
>> 
>>>> --
>>>> 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 
>>>> athttp://groups.google.com/group/sqlalchemy?hl=en.
>> 
>>> --
>>> 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 
>>> athttp://groups.google.com/group/sqlalchemy?hl=en.
> 
> -- 
> 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.
> 

-- 
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