From 423badfe07ff237d9a696595681b28c0206cc14f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Jane=C5=BEi=C4=8D?= Date: Wed, 24 May 2023 00:18:24 +0200 Subject: [PATCH] fix: all django management command related subcommands We just called `manage` inside docker instead of `exec appserver python manage.py`. Now we make assumption that django app is running in docker-compose in service named `appserver`. While fixing this bug we also refactored for `shell`, `makemigrations` and `migrate` to all call `manage` under the hood to avoid repeating code. --- src/scripts/django.rs | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/scripts/django.rs b/src/scripts/django.rs index db39830..c423297 100644 --- a/src/scripts/django.rs +++ b/src/scripts/django.rs @@ -46,28 +46,26 @@ pub fn make_command(app: &PathBuf, name: &str) -> Result<()> { Ok(()) } -pub fn makemigrations() -> Result<()> { - let dsm = get_django_settings_module()?; - let command = format!("manage makemigrations --settings={dsm}"); - DockerCommand::docker_compose().args(&command).spawn_wait() -} - pub fn manage(rest: &[String]) -> Result<()> { let dsm = get_django_settings_module()?; let joined = rest.join(" "); - let command = format!("manage {joined} --settings={dsm}"); + let command = format!("exec appserver python manage.py {joined} --settings={dsm}"); DockerCommand::docker_compose().args(&command).spawn_wait() } -pub fn migrate(rest: &[String]) -> Result<()> { - let dsm = get_django_settings_module()?; - let joined = rest.join(" "); - let command = format!("manage migrate {joined} --settings={dsm}"); - DockerCommand::docker_compose().args(&command).spawn_wait() +// shortcuts +pub fn makemigrations() -> Result<()> { + manage(&["makemigrations".to_string()]) } pub fn shell() -> Result<()> { - let dsm = get_django_settings_module()?; - let command = format!("manage shell --settings={dsm}"); - DockerCommand::docker_compose().args(&command).spawn_wait() + manage(&["shell".to_string()]) } + +pub fn migrate(rest: &[String]) -> Result<()> { + let mut full_rest = vec!["migrate".to_string()]; + full_rest.extend_from_slice(rest); + + manage(&full_rest) +} +