if you need to access legacy tables, all you need - effectively - is not 
creating the tables: just parse the results to proper python-corresponding 
types. Same thing applies with inserting/updating: TINYINT, SMALLINT, INT 
are just integers...with a "forced" lower/upper limit. Those translates to 
a proper model as 

Field('thefield', 'integer', requires=IS_INT_IN_RANGE(...,....))

but that only helps you if you need to do validation before inserting. 
Python will manage all of those as integers anyways.
As for the primary key, as long it's unique, everything works, EXCEPT 
something at reaaaally high level as the grid. 
Another thing to count for is that web2py assumes a "modern" model in which 
you CAN'T choose the PK beforehand (this maps to an autoincrementing 
integer usually): using db.thetable.insert(...) could be troublesome in 
some edge cases.


On Wednesday, August 3, 2016 at 10:09:58 PM UTC+2, Dave S wrote:
>
>
>
> On Monday, August 1, 2016 at 2:00:31 PM UTC-7, Dave S wrote:
>>
>> Trying to translate someone else's MySQL CREATE TABLE into a 
>> define_table, which of course means I need to know what to do with 2 left 
>> shoes.
>>
>> 1) Can I translate a BIT field as a 'boolean'?
>>
>> 2) For legacy tables, does a keyed table work when the ID-like field on 
>> the MySQL side is a VARCHAR marked as the PRIMARY KEY, and there is UNIQUE 
>> INDEX set based on that field?
>>
>>
> Also, mapping BIGINT to bigint seems straightforward enough, but do 
> TINYINT, SMALLINT, and INT all map to integer?
>
> /dps
>  
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to