sorry for being late. This is from web2py's 2.6.0 changelog.

Attention MySQL users: The length of string fields changed from 255 to 512 
bytes. If you have migrations enabled this will trigger a large migration. 
To prevent it, first set migrate_enabled=False, upgrade, check everything 
is ok, then add length=255 to your string Fields, then re-enable migrations 
with migrate_enabled=True if needed.

tl;dr: remember to ALWAYS set length= for strings.

tl;dr n.2 : Mysql has huge issues. One of them is that you can't index a 
too large column. 


On Wednesday, October 9, 2013 9:25:51 AM UTC+2, Gwayne aka Mike Veltman 
wrote:
>
>   
>
> I found it. 
>
>  
>
> It was in db.py
>
>  
>
> db.define_table('frame',
>
>  
>
> Field('framename', type='string',
>
> # #unique=True, <-------------------------------------------------------- 
> the problem. Is it a bug ?
>
> label=T('Framename')),
>
> Field('description', type='string',
>
> label=T('Description')),
>
> Field('netboot', type='string',default="None",
>
> label=T('Netboot information')),
>
> Field('ip', type='string',
>
> #unique=True,
>
> label=T('IP Address')),
>
> Field('servermodel', type='string',default="p6",
>
> label=T('Server model')),
>
> Field('serial', type='string',default="None",
>
> label=T('Serial Number')),
>
> Field('lvname', type='string',default="FRAMEx",
>
> label=T('Frame extension for storage logical volumes')),
>
> Field('framestaterecord_ID', type='integer',
>
> label=T('Frame State record ID')),
>
> Field('created_on','datetime',default=request.now,
>
> label=T('Created On'),writable=False,readable=False),
>
> Field('modified_on','datetime',default=request.now,
>
> label=T('Modified On'),writable=False,readable=False,
>
> update=request.now),
>
> format='%(framename)s',
>
> migrate=True)
>
>  
>
>  
>
>  
>
> On Tuesday 08 October 2013 13:41:31 Mike Veltman wrote:
>
> Ok, I am now fighting with it for two days and it drives me crazy.
>
> My gut feeling says mysql 5.1 --> mysql 5.5 upgrade is the cause. Am I 
> right ? And how do I solve it. :-)
>
>  
>
> Error ticket for "adeploy"
>
> Ticket ID
>
> 192.168.2.106.2013-10-08.12-46-19.24f3f1a5-d637-4522-965b-fed4958115ed
>
> <class '_mysql_exceptions.OperationalError'> (1071, 'Specified key was too 
> long; max key length is 767 bytes')
>
> Version
>   
> web2py™
>  
> Version 2.7.2-stable+timestamp.2013.10.07.13.52.24
>
> Traceback
>
>  
>   
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
> 20.
> 21.
> 22.
>  
> Traceback (most recent call last):
> File "/srv/web-apps/web2py/gluon/restricted.py", line 217, in restricted
> exec ccode in environment
> File "/srv/web-apps/web2py/applications/adeploy/compiled/models/db.py", line 
> 178, in <module>
> File "/srv/web-apps/web2py/gluon/dal.py", line 7911, in define_table
> table = self.lazy_define_table(tablename,*fields,**args)
> File "/srv/web-apps/web2py/gluon/dal.py", line 7948, in lazy_define_table
> polymodel=polymodel)
> File "/srv/web-apps/web2py/gluon/dal.py", line 1029, in create_table
> fake_migrate=fake_migrate)
> File "/srv/web-apps/web2py/gluon/dal.py", line 1136, in migrate_table
> self.execute(sub_query)
> File "/srv/web-apps/web2py/gluon/dal.py", line 1836, in execute
> return self.log_execute(*a, **b)
> File "/srv/web-apps/web2py/gluon/dal.py", line 1830, in log_execute
> ret = self.cursor.execute(command, *a[1:], **b)
> File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 173, in 
> execute
> self.errorhandler(self, exc, value)
> File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, 
> in defaulterrorhandler
> raise errorclass, errorvalue
> OperationalError: (1071, 'Specified key was too long; max key length is 
> 767 bytes')
>
> In file: /srv/web-apps/web2py/applications/adeploy/compiled/models/db.pyc
>   
> 1.
>  
> <code object <module> at 0x168c468, file 
> "/srv/web-apps/web2py/applications/adeploy/compiled/models/db.py", line 28
> >
>
>  
>
>  
>
>
>
>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to