According to the sqlite FAQs http://www.sqlite.org/faq.html#q5
"Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however. " On Monday, 14 May 2012 13:30:33 UTC+1, Ross Peoples wrote: > > I don't think you are supposed to open more than one connection to a > SQLite database at a time. It is file-based and doesn't have > multi-connection abilities like other databases like MySQL and PostgreSQL. > > On Monday, May 14, 2012 7:29:44 AM UTC-4, simon wrote: >> >> *In the following code I create a new table in db1. However when I open >> a second DAL connection to the same database the new table is not shown. >> Why is that?* >> * >> * >> *db1 = DAL('sqlite://storage.sqlite', folder=dbfolder, auto_import=True)* >> *print(db1.tables)* >> * >> * >> *db1.executesql("DROP TABLE IF EXISTS test;")* >> *print(db1._timings)* >> *try:* >> * os.remove(dbfolder+"/test.table")* >> *except:* >> * pass* >> * * >> *db1.define_table('test', Field('testfield'), migrate='test.table')* >> *db1.commit()* >> *print(db1.tables)* >> * >> * >> *db2 = DAL('sqlite://storage.sqlite', folder=dbfolder, auto_import=True)* >> *print(db2.tables)* >> >