Migrations

This commit is contained in:
Eden Kirin
2023-09-14 22:12:28 +02:00
parent db8fba7207
commit d4a04adfda
8 changed files with 141 additions and 29 deletions

44
migrate.py Normal file
View File

@ -0,0 +1,44 @@
import subprocess
from dataclasses import dataclass
from app.lib import settings
@dataclass
class DatabaseConfig:
HOST: str
PORT: int
NAME: str
USER: str
PASSWORD: str
def migrate(conf: DatabaseConfig) -> None:
args = [
settings.db.FLYWAY_PATH,
"migrate",
f"-url=jdbc:postgresql://{conf.HOST}:{conf.PORT}/{conf.NAME}",
f"-user={conf.USER}",
f"-password={conf.PASSWORD}",
"-configFiles=migrations/flyway.conf",
]
subprocess.run(
args=args,
encoding="utf-8",
)
def main() -> None:
conf = DatabaseConfig(
HOST=settings.db.HOST,
PORT=settings.db.PORT,
NAME=settings.db.NAME,
USER=settings.db.USER,
PASSWORD=settings.db.PASSWORD,
)
migrate(conf)
if __name__ == "__main__":
main()