This is another of those weird mysql issues CREATE TABLE IF NOT EXISTS web2py_filesystem (path VARCHAR(512), content LONGTEXT, PRIMARY KEY(path));
results in DatabaseError: 1071: Specified key was too long; max key length is 767 bytes I need to think about a workaround.... I have been running on google:sql and I did not run into this problem before. On Oct 18, 10:51 pm, Simon Ashley <[email protected]> wrote: > Having an issues connecting to the SQL cloud. > > Have a simple application which works on SQLite. > Able to deploy to GAE using the following: > db = DAL('gae') > > However if its changed to: > db = DAL('google:sql://cdmr01:csm/csmcel05',migrate_enabled=True) > # cdmr01:csm is the sql cloud instance and csmcel05 the GAE > application; which we assume is correct. > > It can't create the database failing with the following log: > > E 2011-10-19 13:00:14.137 > Traceback (most recent call last): > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > restricted.py", line 192, in restricted > exec ccode in environment > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/ > applications/demurage/models/db.py", line 16, in <module> > session.connect(request, response, db=db) > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > globals.py", line 425, in connect > migrate=table_migrate, > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 4534, in define_table > polymodel=polymodel) > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 691, in create_table > logfile = self.file_open(table._loggername, 'a') > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 2925, in file_open > return DatabaseStoredFile(self.db,filename,mode) > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 2866, in __init__ > self.db.executesql("CREATE TABLE IF NOT EXISTS web2py_filesystem > (path VARCHAR(512), content LONGTEXT, PRIMARY KEY(path) ) > ENGINE=InnoDB;") > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 4607, in executesql > self._adapter.execute(query) > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 1339, in execute > return self.log_execute(*a, **b) > File "/base/data/home/apps/s~csmcel05/1.354064527714710096/gluon/ > dal.py", line 1334, in log_execute > ret = self.cursor.execute(*a, **b) > File "/base/python_runtime/python_lib/versions/1/google/storage/ > speckle/python/api/rdbms.py", line 287, in execute > response = self._conn.MakeRequest('Exec', request) > File "/base/python_runtime/python_lib/versions/1/google/storage/ > speckle/python/api/rdbms.py", line 579, in MakeRequest > response = self._MakeRetriableRequest(stub_method, request) > File "/base/python_runtime/python_lib/versions/1/google/storage/ > speckle/python/api/rdbms.py", line 610, in _MakeRetriableRequest > sql_exception.message)) > DatabaseError: 1071: Specified key was too long; max key length is 767 > bytes > > Any ideas or work arounds? > (would be good to have a sample application we know works, if the > issue is with the connection/routes /app configurations)

