Can you try make two migrations. First, drop the row. Second, add the row again with the new size
This defines the error but it not very helpful http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html On Mar 4, 2:44 am, cjparsons <[email protected]> wrote: > I made a change to one of my models to increase > the size of a VARCHAR field from 64 to 138. I'm > using MySQL 5.0.51a-3ubuntu5.4 and web2py 1.57. I > had the same problem with web2py 1.55. > > The SQL shown in sql.log is: > > timestamp: 2009-03-04T08:24:03.934903 > ALTER TABLE meetups ADD entry_key__tmp VARCHAR(138); > UPDATE meetups SET entry_key__tmp=entry_key; > ALTER TABLE meetups DROP COLUMN entry_key; > ALTER TABLE meetups ADD entry_key VARCHAR(138); > UPDATE meetups SET entry_key=entry_key__tmp; > ALTER TABLE meetups DROP COLUMN entry_key__tmp; > > The error I get is: > File "[...] web2py/gluon/main.py", line 368, in wsgibase > SQLDB.close_all_instances(SQLDB.rollback) > File "[...] web2py/gluon/sql.py", line 504, in close_all_instances > action(instance) > File "[...] web2py/gluon/sql.py", line 873, in rollback > self._connection.rollback() > ProgrammingError: (2014, "Commands out of sync; you can't run this > command now") > > I put in some additional tracing in sql.py and saw > that the ProgrammingError is related to executing > the migrate query, not the 'rollback' following > the exception. > > If I execute the same SQL commands via the mysql > command line interface then the operation is > successful. My model looks like: > > mu.define_table("meetups", > SQLField("name", length=128, required=True), > SQLField("comments", "text", default=""), > SQLField("entry_key",length=138), # This is the field that > changed from length=64 > SQLField("simp_day"), > SQLField("simp_slot", "integer"), > SQLField("pattern","text"), > SQLField("next_index", "integer"), > SQLField("last_start", "date"), migrate='dw.meetups') > > I've seen the -M command line option to web2py but > I'm not sure what it does. > > Initially I thought the error message was related to > MySQL not supporting rollback of "ALTER TABLE" > commands but the error seems to be happening > before that point. > > I've had a similar problem before with MySQL and > started migrating by hand. I can do that again, > but it would be good to use the auto > migrations if I can. > > Does anyone know on how I can avoid the "Commands > out of sync" error? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" 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/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

