From 55e6acc6b8155743ec1e3368d6aa807342212149 Mon Sep 17 00:00:00 2001 From: David Ajawu Date: Wed, 28 Dec 2022 19:51:04 +0100 Subject: [PATCH 1/4] feat: added volumes to database compose service for data persistence --- .../docker-compose.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml index 73d648b..76e9b51 100644 --- a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml +++ b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml @@ -1,8 +1,16 @@ version: "3.8" +volumes: +{% if cookiecutter.database == "Postgres" %} + {{ cookiecutter.snake_name }}_local_postgres_data: {} +{% elif cookiecutter.database == "MySQL" %} + {{ cookiecutter.snake_name }}_local_mysql_data: {} +{% endif %} + services: app: build: . + container_name: {{ cookiecutter.snake_name }}_local_fastapi env_file: - .env ports: @@ -11,6 +19,9 @@ services: {% if cookiecutter.database == "Postgres" %} database: image: postgres:12 + container_name: {{ cookiecutter.snake_name }}_postgres + volumes: + - {{ cookiecutter.snake_name }}_local_postgres_data:/var/lib/postgresql/data:Z env_file: - .env ports: @@ -18,6 +29,9 @@ services: {% elif cookiecutter.database == "MySQL" %} database: image: mysql:5.7 + container_name: { { cookiecutter.snake_name } }_mysql + volumes: + - {{ cookiecutter.snake_name }}_local_mysql_data:/var/lib/mysql:Z env_file: - .env ports: From 14f46625e4c15c9e1706bbddb70a64051377e786 Mon Sep 17 00:00:00 2001 From: David Ajawu Date: Tue, 3 Jan 2023 14:45:02 +0100 Subject: [PATCH 2/4] feat: renamed containers to more universal names --- .../docker-compose.yaml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml index 76e9b51..4f429f5 100644 --- a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml +++ b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml @@ -1,16 +1,14 @@ version: "3.8" +{% if cookiecutter.database == "Postgres" or cookiecutter.database == "MySQL" %} volumes: -{% if cookiecutter.database == "Postgres" %} - {{ cookiecutter.snake_name }}_local_postgres_data: {} -{% elif cookiecutter.database == "MySQL" %} - {{ cookiecutter.snake_name }}_local_mysql_data: {} + {{ cookiecutter.snake_name }}_database_data: {} {% endif %} services: app: build: . - container_name: {{ cookiecutter.snake_name }}_local_fastapi + container_name: {{ cookiecutter.snake_name }}_app env_file: - .env ports: @@ -19,7 +17,7 @@ services: {% if cookiecutter.database == "Postgres" %} database: image: postgres:12 - container_name: {{ cookiecutter.snake_name }}_postgres + container_name: {{ cookiecutter.snake_name }}_database volumes: - {{ cookiecutter.snake_name }}_local_postgres_data:/var/lib/postgresql/data:Z env_file: @@ -29,7 +27,7 @@ services: {% elif cookiecutter.database == "MySQL" %} database: image: mysql:5.7 - container_name: { { cookiecutter.snake_name } }_mysql + container_name: { { cookiecutter.snake_name } }_database volumes: - {{ cookiecutter.snake_name }}_local_mysql_data:/var/lib/mysql:Z env_file: From b84d332216bd874309628f66697499b2a2c5565b Mon Sep 17 00:00:00 2001 From: David Ajawu Date: Tue, 3 Jan 2023 17:48:51 +0100 Subject: [PATCH 3/4] fix: added snake_name to project context --- manage_fastapi/context.py | 2 ++ manage_fastapi/templates/project/cookiecutter.json | 1 + 2 files changed, 3 insertions(+) diff --git a/manage_fastapi/context.py b/manage_fastapi/context.py index 5b8dc20..d1a26b0 100644 --- a/manage_fastapi/context.py +++ b/manage_fastapi/context.py @@ -23,6 +23,7 @@ def validate_app(cls, values: dict): class ProjectContext(BaseModel): name: str folder_name: str + snake_name: str packaging: PackageManager username: Optional[str] = None @@ -51,6 +52,7 @@ def validate_project(cls, values: dict): except subprocess.CalledProcessError: ... values["folder_name"] = values["name"].lower().replace(" ", "-").strip() + values["snake_name"] = values["folder_name"].replace("-", "_") values["year"] = datetime.today().year return values diff --git a/manage_fastapi/templates/project/cookiecutter.json b/manage_fastapi/templates/project/cookiecutter.json index 2911aad..16e35f5 100644 --- a/manage_fastapi/templates/project/cookiecutter.json +++ b/manage_fastapi/templates/project/cookiecutter.json @@ -5,6 +5,7 @@ "env": ".env", "fastapi": "{{ cookiecutter.fastapi }}", "folder_name": "{{ cookiecutter.folder_name }}", + "snake_name": "{{ cookiecutter.snake_name }}", "gitignore": ".gitignore", "license": "{{ cookiecutter.license }}", "name": "{{ cookiecutter.name }}", From b8c758a66a22c39642680f1ce96a55d4c039b909 Mon Sep 17 00:00:00 2001 From: David Ajawu Date: Wed, 4 Jan 2023 11:33:15 +0100 Subject: [PATCH 4/4] fix: set correct volume name for database service --- .../{{ cookiecutter.folder_name }}/docker-compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml index 4f429f5..902fc6d 100644 --- a/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml +++ b/manage_fastapi/templates/project/{{ cookiecutter.folder_name }}/docker-compose.yaml @@ -19,7 +19,7 @@ services: image: postgres:12 container_name: {{ cookiecutter.snake_name }}_database volumes: - - {{ cookiecutter.snake_name }}_local_postgres_data:/var/lib/postgresql/data:Z + - {{ cookiecutter.snake_name }}_database_data:/var/lib/postgresql/data:Z env_file: - .env ports: @@ -29,7 +29,7 @@ services: image: mysql:5.7 container_name: { { cookiecutter.snake_name } }_database volumes: - - {{ cookiecutter.snake_name }}_local_mysql_data:/var/lib/mysql:Z + - {{ cookiecutter.snake_name }}_database_data:/var/lib/mysql:Z env_file: - .env ports: