python/django/python-guestbook/kubernetes-manifests/guestbook-app.migration.yaml (29 lines of code) (raw):

# This file creates a job that migrates the Postgres database. The job creates a # pod from the specified Docker image, wait for the database to get ready, and # run database migration once the Postgres database service is ready to receive # connections. apiVersion: batch/v1 kind: Job metadata: name: python-guestbook-migration spec: template: metadata: name: python-guestbook-migration spec: initContainers: # Wait for the database to get ready before doing migration - name: check-db-ready image: postgres command: ['sh', '-c', 'until pg_isready -h python-guestbook-db -p 5432; do echo waiting for database; sleep 2; done;'] containers: - name: python-guestbook-migration image: python-guestbook-frontend-django command: [ "/bin/sh", "-c", "python manage.py migrate" ] env: - name: DATABASE_NAME value: "postgres" - name: DATABASE_USER value: "postgres" - name: DATABASE_HOST value: "python-guestbook-db" - name: DATABASE_PORT value: "5432" restartPolicy: OnFailure