__init__.py 681 B

1234567891011121314151617181920212223242526
  1. """
  2. Models & schemata, as well as business logic (queries & services).
  3. """
  4. import os
  5. from flask import Flask
  6. from flask_migrate import Migrate
  7. from flask_marshmallow import Marshmallow
  8. from flexmeasures.data.config import configure_db_for, db
  9. from flexmeasures.data.transactional import after_request_exception_rollback_session
  10. ma: Marshmallow = Marshmallow()
  11. def register_at(app: Flask):
  12. # First configure the central db object and Alembic's migration tool
  13. configure_db_for(app)
  14. Migrate(app, db, directory=os.path.join(app.root_path, "data", "migrations"))
  15. global ma
  16. ma.init_app(app)
  17. app.teardown_request(after_request_exception_rollback_session)