[Fix] bootstrap command now reflects new Scenario/AdditionalInformation structure (#346)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#346
This commit is contained in:
2026-03-07 03:14:28 +13:00
parent c6ff97694d
commit d4295c9349
2 changed files with 74 additions and 34 deletions

View File

@ -1,6 +1,7 @@
import os
import subprocess
from django.conf import settings
from django.core.management import call_command
from django.core.management.base import BaseCommand
@ -45,11 +46,13 @@ class Command(BaseCommand):
if not os.path.exists(dump_file):
raise ValueError(f"Dump file {dump_file} does not exist")
print(f"Dropping database {options['name']} y/n: ", end="")
db_name = options["name"]
print(f"Dropping database {db_name} y/n: ", end="")
if input() in "yY":
result = subprocess.run(
["dropdb", "appdb"],
["dropdb", db_name],
capture_output=True,
text=True,
)
@ -57,20 +60,24 @@ class Command(BaseCommand):
else:
raise ValueError("Aborted")
print(f"Creating database {options['name']}")
print(f"Creating database {db_name}")
result = subprocess.run(
["createdb", "appdb"],
["createdb", db_name],
capture_output=True,
text=True,
)
print(result.stdout)
print(f"Restoring database {options['name']} from {dump_file}")
print(f"Restoring database {db_name} from {dump_file}")
result = subprocess.run(
["pg_restore", "-d", "appdb", dump_file, "--no-owner"],
["pg_restore", "-d", db_name, dump_file, "--no-owner"],
capture_output=True,
text=True,
)
print(result.stdout)
call_command("localize_urls", "--old", options["oldurl"], "--new", options["newurl"])
if db_name == settings.DATABASES["default"]["NAME"]:
call_command("localize_urls", "--old", options["oldurl"], "--new", options["newurl"])
else:
print("Skipping localize_urls as database is not the default one.")