[2/2] Disable Alembic support on test databases

Message ID 20200223185236.GA1030467@tsubame.mg0.fr
State New
Headers show
Series
  • [1/2] Create an initial Alembic migration
Related show

Commit Message

Frédéric Mangano-Tarumi Feb. 23, 2020, 6:52 p.m. UTC
---
 aurweb/initdb.py | 12 +++++++++---
 test/setup.sh    |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

Patch

diff --git a/aurweb/initdb.py b/aurweb/initdb.py
index c02fb961..91777f7e 100644
--- a/aurweb/initdb.py
+++ b/aurweb/initdb.py
@@ -36,14 +36,17 @@  def run(args):
     # Ensure Alembic is fine before we do the real work, in order not to fail at
     # the last step and leave the database in an inconsistent state. The
     # configuration is loaded lazily, so we query it to force its loading.
-    alembic_config = alembic.config.Config('alembic.ini')
-    alembic_config.get_main_option('script_location')
+    if args.use_alembic:
+        alembic_config = alembic.config.Config('alembic.ini')
+        alembic_config.get_main_option('script_location')
 
     engine = sqlalchemy.create_engine(aurweb.db.get_sqlalchemy_url(),
                                       echo=(args.verbose >= 1))
     aurweb.schema.metadata.create_all(engine)
     feed_initial_data(engine.connect())
-    alembic.command.stamp(alembic_config, 'head')
+
+    if args.use_alembic:
+        alembic.command.stamp(alembic_config, 'head')
 
 
 if __name__ == '__main__':
@@ -52,5 +55,8 @@  if __name__ == '__main__':
         description='Initialize the aurweb database.')
     parser.add_argument('-v', '--verbose', action='count', default=0,
                         help='increase verbosity')
+    parser.add_argument('--no-alembic',
+                        help='disable Alembic migrations support',
+                        dest='use_alembic', action='store_false')
     args = parser.parse_args()
     run(args)
diff --git a/test/setup.sh b/test/setup.sh
index 12f6edcc..cad5cd66 100644
--- a/test/setup.sh
+++ b/test/setup.sh
@@ -110,7 +110,7 @@  SSH_TTY=/dev/pts/0
 export SSH_CLIENT SSH_CONNECTION SSH_TTY
 
 # Initialize the test database.
-python -m aurweb.initdb
+python -m aurweb.initdb --no-alembic
 
 echo "INSERT INTO Users (ID, UserName, Passwd, Email, LangPreference, AccountTypeID) VALUES (1, 'user', '!', 'user@localhost', 'en', 1);" | sqlite3 aur.db
 echo "INSERT INTO Users (ID, UserName, Passwd, Email, LangPreference, AccountTypeID) VALUES (2, 'tu', '!', 'tu@localhost', 'en', 2);" | sqlite3 aur.db