aboutsummaryrefslogtreecommitdiffstats
path: root/apply_migrations.py
blob: 4b00dfe1d1a4c8c5d4d47244862845f3c8acbab7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from dotenv import load_dotenv
load_dotenv()

import os
import db

migrations_dir = 'migrations'  # Relative directory path

# Get all migration files
migration_files = sorted(os.listdir(migrations_dir))

db.ensure_migration_table_exists()

num_applied = 0

# Apply migrations in alphabetical order
for migration_file in migration_files:
  migration_path = os.path.join(migrations_dir, migration_file)
  print(f"* Applying migration: {migration_path}")

  with open(migration_path, 'r') as f:
    migration_sql = f.read()

  print(migration_sql)
  number = int(migration_file.split('_')[0])

  if db.ensure_migration_applied(number, migration_sql):
    print(f"* Migration applied: {migration_path}\n")
    num_applied += 1
  else:
    print(f"* Migration already applied: {migration_path}\n")

print(f"* {num_applied} migrations applied.")