It does an automatic table naming (if no table name is defined using the `__tablename__` property) by pluralizing the class name with the `inflection` library. So, for example, a `User` model gets a table named `users`.

How to use---------------------

The SQLAlchemy class is used to instantiate a SQLAlchemy connection toa database.

:: db = SQLAlchemy(_uri_to_database_)

The class also provides access to all the SQLAlchemyfunctions from the `sqlalchemy` and `sqlalchemy.orm` modules.So you can declare models like this:

In a web application you need to call `db.session.remove()` after each response, and `db.session.rollback()` if an error occurs. However, if you are using Flask or other framework that uses the `after_request` and `on_exception` decorators, these bindings can be done automatically (this works with Bottle's `hook` too):