lifecycle: fix migration trying to load all classes

This commit is contained in:
Jens Langhammer 2020-10-19 15:55:16 +02:00
parent ac4c314042
commit 597188c7ee
3 changed files with 11 additions and 5 deletions

View File

@ -47,7 +47,9 @@ if __name__ == "__main__":
# pyright: reportGeneralTypeIssues=false
spec.loader.exec_module(mod)
for _, sub in getmembers(mod, isclass):
for name, sub in getmembers(mod, isclass):
if name != "Migration":
continue
migration = sub(curr, conn)
if migration.needs_migration():
LOGGER.info("Migration needs to be applied", migration=sub)

View File

@ -25,7 +25,8 @@ delete from django_migrations where app = 'passbook_stages_password' and
name = '0002_passwordstage_change_flow';"""
class To010Migration(BaseMigration):
class Migration(BaseMigration):
def needs_migration(self) -> bool:
self.cur.execute(
"select * from information_schema.tables where table_name='oidc_provider_client'"

View File

@ -1,4 +1,5 @@
from pickle import loads # nosec
from pickle import loads
from typing import Any # nosec
from redis import Redis
@ -6,8 +7,10 @@ from lifecycle.migrate import BaseMigration
from passbook.lib.config import CONFIG
class To012Migration(BaseMigration):
def __init__(self) -> None:
class Migration(BaseMigration):
def __init__(self, cur: Any, con: Any):
super().__init__(cur, con)
self.redis = Redis(
host=CONFIG.y("redis.host"),
port=6379,