I'll explain the normal behaviour, don't know if it applies to google cloud sql.
web2py receives a request. that request execute models. in models you have the db definition. If migrations are turned on (migrate=True), web2py compares the current define_table statements with the .table files stored inside the /databases/ folder. If a difference is found, it triggers migrations (column add, drop, etc). If not, it continues. When fake_migrate is turned on(fake_migrate=True), web2py just replaces all the .table files inside the databases/ folder to match the define_table statements. If migrations are turned off (migrate=False), web2py uses the define_table statements to build the environment, without checking the .table files. All of this happens for all tables in one request only. If lazy_tables is turned on instead, migrations occur when the table is accessed inside your code. Did I cleared the doubts ? -- --- 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

