Customizing connection behavior

You can execute some queries to specify your connection (i.e. pragmas) using db.on_connect() decorator.

  1. db = Database()
  2. # entities declaration
  3. @db.on_connect(provider='sqlite')
  4. def sqlite_case_sensitivity(db, connection):
  5. cursor = connection.cursor()
  6. cursor.execute('PRAGMA case_sensitive_like = OFF')
  7. db.bind(**options)
  8. db.generate_mapping(create_tables=True)

With following code each new sqlite connection will call this function. This example shows how to restore old case insensitive like for sqlite.