def init_app(self, app):
if (<EOL>'<STR_LIT>' not in app.config and<EOL>'<STR_LIT>' not in app.config<EOL>):<EOL><INDENT>warnings.warn(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>)<EOL><DEDENT>app.config.setdefault('<STR_LIT>', '<STR_LIT>')<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', False)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', None)<EOL>app.config.setdefault('<STR_LIT>', False)<EOL>track_modifications = app.config.setdefault(<EOL>'<STR_LIT>', None<EOL>)<EOL>app.config.setdefault('<STR_LIT>', {})<EOL>if track_modifications is None:<EOL><INDENT>warnings.warn(FSADeprecationWarning(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>))<EOL><DEDENT>utils.engine_config_warning(app.config, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')<EOL>utils.engine_config_warning(app.config, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')<EOL>utils.engine_config_warning(app.config, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')<EOL>utils.engine_config_warning(app.config, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')<EOL>app.extensions['<STR_LIT>'] = _SQLAlchemyState(self)<EOL>@app.teardown_appcontext<EOL>def shutdown_session(response_or_exc):<EOL><INDENT>if app.config['<STR_LIT>']:<EOL><INDENT>if response_or_exc is None:<EOL><INDENT>self.session.commit()<EOL><DEDENT><DEDENT>self.session.remove()<EOL>return response_or_exc<EOL><DEDENT>
This callback can be used to initialize an application for the
        use with this database setup.  Never use a database in the context
        of an application not initialized that way or connections will
        leak.