Skip to content

Commit

Permalink
Merge pull request #73 from nautobot/patch-fix_72
Browse files Browse the repository at this point in the history
Fix DB Import/Export Service Name
  • Loading branch information
jvanderaa authored May 9, 2024
2 parents 40eec08 + 4957f04 commit 553a546
Show file tree
Hide file tree
Showing 7 changed files with 2,687 additions and 12 deletions.
1 change: 0 additions & 1 deletion environments/docker-compose.base.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
x-nautobot-build: &nautobot-build
build:
args:
Expand Down
1 change: 0 additions & 1 deletion environments/docker-compose.ldap.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
x-nautobot-build: &nautobot-build
build:
args:
Expand Down
1 change: 0 additions & 1 deletion environments/docker-compose.local.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
services:
nautobot:
command: "nautobot-server runserver 0.0.0.0:8080"
Expand Down
1 change: 0 additions & 1 deletion environments/docker-compose.mysql.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
services:
nautobot:
environment:
Expand Down
1 change: 0 additions & 1 deletion environments/docker-compose.postgres.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
version: "3.8"
services:
db:
image: "postgres:13-alpine"
Expand Down
2,672 changes: 2,672 additions & 0 deletions poetry.lock

Large diffs are not rendered by default.

22 changes: 15 additions & 7 deletions tasks.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Development Tasks."""

from distutils.util import strtobool
from time import sleep
import os
Expand Down Expand Up @@ -245,14 +246,17 @@ def import_nautobot_data(context):
@task
def db_export(context):
"""Export the database from the dev environment to nautobot.sql."""
docker_compose(context, "up -d postgres")
docker_compose(context, "up -d db")
sleep(2) # Wait for the database to be ready

print("Exporting the database as an SQL dump...")
export_cmd = 'exec postgres sh -c "pg_dump -h localhost -d \${NAUTOBOT_DB_NAME} -U \${NAUTOBOT_DB_USER} > /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
if "docker-compose.mysql.yml" in context.nautobot_docker_compose.compose_files:
export_cmd = 'exec db sh -c "mysqldump -u \${NAUTOBOT_DB_USER} –p \${NAUTOBOT_DB_PASSWORD} \${NAUTOBOT_DB_NAME} nautobot > /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
copy_cmd = f"docker cp {context.nautobot_docker_compose.project_name}-mysql-1:/tmp/nautobot.sql nautobot.sql"
else:
export_cmd = 'exec db sh -c "pg_dump -h localhost -d \${NAUTOBOT_DB_NAME} -U \${NAUTOBOT_DB_USER} > /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
copy_cmd = f"docker cp {context.nautobot_docker_compose.project_name}-postgres-1:/tmp/nautobot.sql nautobot.sql"
docker_compose(context, export_cmd, pty=True)

copy_cmd = f"docker cp {context.nautobot_docker_compose.project_name}_postgres_1:/tmp/nautobot.sql dev/nautobot.sql"
print("Copying the SQL Dump locally...")
context.run(copy_cmd)

Expand All @@ -263,13 +267,17 @@ def db_import(context):
print("Importing Database into Development...\n")

print("Starting Postgres for DB import...\n")
docker_compose(context, "up -d postgres")
docker_compose(context, "up -d db")
sleep(2)

print("Copying DB Dump to DB container...\n")
copy_cmd = f"docker cp dev/nautobot.sql {context.nautobot_docker_compose.project_name}_postgres_1:/tmp/nautobot.sql"
if "docker-compose.mysql.yml" in context.nautobot_docker_compose.compose_files:
copy_cmd = f"docker cp nautobot.sql {context.nautobot_docker_compose.project_name}-mysql-1:/tmp/nautobot.sql"
import_cmd = 'exec db sh -c "mysql -u \${NAUTOBOT_DB_USER} –p \${NAUTOBOT_DB_PASSWORD} < /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
else:
copy_cmd = f"docker cp nautobot.sql {context.nautobot_docker_compose.project_name}-postgres-1:/tmp/nautobot.sql"
import_cmd = 'exec db sh -c "psql -h localhost -U \${NAUTOBOT_DB_USER} < /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
context.run(copy_cmd)

print("Importing DB...\n")
import_cmd = 'exec postgres sh -c "psql -h localhost -U \${NAUTOBOT_DB_USER} < /tmp/nautobot.sql"' # noqa: W605 pylint: disable=anomalous-backslash-in-string
docker_compose(context, import_cmd, pty=True)

0 comments on commit 553a546

Please sign in to comment.