On Friday, December 30, 2011 11:25:51 AM UTC-5, Massimo Di Pierro wrote:
>
> You have to do:
>
> db.define_table('name',...,migrate=settings.migrate)
>
> The table has to be defined because web2py needs to know how to map
> SQL types into web2py types. The migrate argument, when set to False,
> will prevent the "CREATE TABLE". Anyway, web2py does not "CREATE
> TABLE" if it exists already.
>
Looks like create_table is called regardless of migrate on GAE:
if migrate or self._adapter.dbengine=='google:datastore':
try:
sql_locker.acquire()
self._adapter.create_table(t,migrate=migrate,
fake_migrate=fake_migrate,
polymodel=polymodel)
GoogleDatastoreAdapter.create_table() itself doesn't seem to do anything
with 'migrate', but not clear if it results in any datastore activity.
Looks like it just creates a gae.Model object:
if not polymodel:
table._tableobj = classobj(table._tablename, (gae.Model, ), myfields)
Anthony