From 6b6a846b29ea7fa31e7834743ad504aa31be6acb Mon Sep 17 00:00:00 2001 From: Martijn Vermaat <martijn@vermaat.name> Date: Sat, 22 Feb 2014 23:43:47 +0100 Subject: [PATCH] Conveniently create tables on first use for in-memory SQLite --- mutalyzer/db/__init__.py | 7 +++++++ mutalyzer/entrypoints/admin.py | 2 -- tests/fixtures.py | 1 - 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mutalyzer/db/__init__.py b/mutalyzer/db/__init__.py index 8282e824..3e4fc6ea 100644 --- a/mutalyzer/db/__init__.py +++ b/mutalyzer/db/__init__.py @@ -42,6 +42,13 @@ def create_engine(): connect_args={'check_same_thread': False}, poolclass=StaticPool) + engine = sqlalchemy.create_engine(url, **options) + + # For convenience, we also create tables if we're using an SQLite + # in-memory database. By definition they won't yet exist + Base.metadata.create_all(engine) + return engine + return sqlalchemy.create_engine(url, **options) diff --git a/mutalyzer/entrypoints/admin.py b/mutalyzer/entrypoints/admin.py index 613ba197..d0458dbe 100644 --- a/mutalyzer/entrypoints/admin.py +++ b/mutalyzer/entrypoints/admin.py @@ -161,9 +161,7 @@ def setup_database(alembic_config_path=None, destructive=False): if destructive: db.Base.metadata.drop_all(db.session.get_bind()) - db.Base.metadata.create_all(db.session.get_bind()) - db.session.commit() if alembic_config_path: context = MigrationContext.configure(db.session.connection()) diff --git a/tests/fixtures.py b/tests/fixtures.py index d699912b..e25d018d 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -162,7 +162,6 @@ def database(): Fixture for database table definitions. """ Base.metadata.create_all(session.get_bind()) - session.commit() def hg19(): -- GitLab