For db connection I've used every combination possbile below (migrate_enabled=True, fake_migrate, etc.) including every combination of deleting or leaving table w2p databases folder, dropping the table from Postgres, dropping from web2py, etc.
db = DAL('postgres://postgres:MyPasswordlocalhost:5432/postgres', pool_size=1,check_reserved=['all'], migrate_enabled=True, lazy_tables=False, fake_migrate_all = False) #migrate=False # fake_migrate_all = True #fake_migrate=True,
It doesn't matter which table I use, if I add a column in db.py (with migrate_enabled=True, which is what always worked with sqLite), it doesn't get added in either w2p or the Postgres table. No errors, just doesn't appear as a new field.
If I use fake_migrate = True, error is: <class 'psycopg2.ProgrammingError'> column "reputation_comments" of relation "reputation" does not exist
sql.log below shows new column added, then inexplicably deleted without any action on my part.
timestamp: 2016-02-07T18:48:25.390000
ALTER TABLE Reputation ADD reputation_comments VARCHAR(512);
faked!