Let me add you did not lose your data. If you revert to 1.99.7 you should find the data is still there. Yet we need to understand what is happening....
On Tuesday, 11 September 2012 03:44:46 UTC-5, Matt wrote: > > Hi there, > > First off thanks for all of the fantastic work putting 2.0 together. > Looking forward to trying the new features. > > I've just upgraded from 1.99.7 -> 2.0.8 and I've discovered a serious bug > which has resulted in the loss of my data. > > [I'm using both GAE with CloudSQL and dal(migrate_enabled = True)] > > The automatically created image_blob references for GAE fields like: > > Field('image', 'upload', required = True, length = 100) > > Have vanished and with them the data contained in the image_blob fields. > > It seems to have happened fairly randomly i.e. some tables are fine but > others are affected. Out of about 6 tables using uploads only two still > have the extra blob columns. > > I've had some of these table definitions around for a long time and they > haven't changed. Whereas some others have been edited more recently. > > Any help or suggestions would be appreciated. Happy to give mere > information if possible. > > Thanks in advance, > Matt > > BTW: Also had this problem occur prior to the above: > > self.db.executesql("CREATE TABLE IF NOT EXISTS web2py_filesystem (path > VARCHAR(512), content LONGTEXT, PRIMARY KEY(path) ) ENGINE=InnoDB;") > File "/Projects/www/gluon/dal.py", line 7234, in executesql > adapter.execute(query) > File "/Projects/www/gluon/dal.py", line 4002, in execute > return self.log_execute(a.decode('utf8')) > File "/Projects/www/gluon/dal.py", line 1653, in log_execute > ret = self.cursor.execute(*a, **b) > File "/Library/Python/2.7/site-packages/MySQLdb/cursors.py", line 174, > in execute > File "/Library/Python/2.7/site-packages/MySQLdb/connections.py", line > 36, in defaulterrorhandler > OperationalError: (1071, 'Specified key was too long; max key length is > 767 bytes') > > Temporary fix was to change from True to False. > > class DatabaseStoredFile: > > web2py_filesystem = True > > (I did already have the web2py_filesystem table of course) > --