I made a slight edit in the book near the end of the http://web2py.com/book/default/chapter/06#Record-Representation section, where 'db.tables' is mentioned. It now indicates that db.tables lists the tables defined for the db connection (previously it said that 'db.tables' queried the database for table names, which was misleading). Anthony
On Monday, May 16, 2011 10:40:34 AM UTC-4, Anthony wrote: > Simply connecting to a database does not tell web2py what tables are in the > database. You have to explicitly define the tables by using the DAL > define_table method. So, you code should be: > > db=DAL('mysql://varun:VaruN@192.168.0.240:3306/test') # note, you should > use DAL(), not SQLDB(). > db.define_table('person', <the rest of your table definition>) > # Also, define any additional tables you want to access via the DAL. > > Note, db.tables does not extract the names of the actual tables in the db > connection -- it simply lists the names of the DAL Table objects that have > been defined via define_table(). > > Anthony > > On Friday, May 6, 2011 3:49:54 AM UTC-4, vrathore wrote: > >> Hello There, >> >> I am connecting to my existing Mysql DB, i am able to connect, but i >> am getting tables empty. >> Here is the Sample Code >> db=SQLDB('mysql://varun:VaruN@192.168.0.240:3306/test') >> print db >> print "gettables" ,db.tables >> >> I get the following respose on the console >> database <DAL {'_migrate_enabled': True, '_lastsql': "SET >> sql_mode='NO_BACKSLAS >> H_ESCAPES';", '_db_codec': 'UTF-8', '_timings': [('SET >> FOREIGN_KEY_CHECKS=1;', 0 >> .0), ("SET sql_mode='NO_BACKSLASH_ESCAPES';", 0.0)], '_fake_migrate': >> False, '_d >> bname': 'mysql', '_adapter': <gluon.dal.MySQLAdapter object at >> 0x01976670>, 'che >> ck_reserved': None, '_uri': 'mysql://varun:VaruN@192.168.0.240:3306/ >> test_ytk', ' >> tables': [], '_fake_migrate_enabled': False, '_migrate': True, >> '_pool_size': 0}> >> >> "gettables"[] >> >> On the Ticket Response on admin i see this error >> Traceback (most recent call last): >> File "gluon/restricted.py", line 181, in restricted >> File "E:/Projects/Web2Pye/web2py_win/web2py/applications/TSearch/ >> models/db.py", line 5, in <module> >> File "gluon/dal.py", line 4042, in __getitem__ >> KeyError: 'person' >> >