@@ -6,44 +6,23 @@ KUBERNETES_DEPLOYMENT_NAME=""
6
6
KUBERNETES_NAMESPACE=" "
7
7
AZURE_CONTAINER_REGISTRY=" "
8
8
IMAGE_TAG=" "
9
- num_migrations =" "
9
+ alembic_downgrade_rev =" "
10
10
11
- while getopts e:d:r:t:n:m : flag
11
+ while getopts e:d:r:t:n:a : flag
12
12
do
13
13
case " ${flag} " in
14
14
e) ENVIRONMENT_NAME=${OPTARG} ;;
15
15
d) KUBERNETES_DEPLOYMENT_NAME=${OPTARG} ;;
16
16
n) KUBERNETES_NAMESPACE=${OPTARG} ;;
17
17
r) AZURE_CONTAINER_REGISTRY=${OPTARG} ;;
18
18
t) IMAGE_TAG=${OPTARG} ;;
19
- m) num_migrations =${OPTARG} ;;
19
+ a) alembic_downgrade_rev =${OPTARG} ;;
20
20
esac
21
21
done
22
22
23
23
kubectl config set-context --current --namespace=$KUBERNETES_NAMESPACE
24
24
echo " Context set to namespace: \" $KUBERNETES_NAMESPACE \" "
25
25
26
- KUBERNETES_POD_IMAGE=" ${AZURE_CONTAINER_REGISTRY} /${KUBERNETES_DEPLOYMENT_NAME} :${IMAGE_TAG} "
27
-
28
- function generate_db_rollback_job {
29
- echo " Generating DB Rollback job for ${KUBERNETES_DEPLOYMENT_NAME} in ${ENVIRONMENT_NAME} "
30
- sed -i.bak ' s|${KUBERNETES_DEPLOYMENT_NAME}|' ${KUBERNETES_DEPLOYMENT_NAME} ' |g' apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.tmpl
31
- sed -i.bak ' s|${KUBERNETES_POD_IMAGE}|' ${KUBERNETES_POD_IMAGE} ' |g' apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.tmpl
32
- sed -i.bak ' s|${num_migrations}|' ${num_migrations} ' |g' apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.tmpl
33
-
34
- mv apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.tmpl apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.yml
35
- echo " ::notice::Generated DB Rollback job successfully"
36
- cat apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.yml
37
- }
38
-
39
- function apply_db_rollback_job {
40
- echo " Applying DB Rollback job for ${KUBERNETES_DEPLOYMENT_NAME} in ${ENVIRONMENT_NAME} "
41
- kubectl apply --filename apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.yml
42
- echo " ::notice::Applied DB Rollback job successfully"
43
- }
44
-
45
- function delete_db_rollback_job {
46
- echo " Deleting DB Rollback job for ${KUBERNETES_DEPLOYMENT_NAME} in ${ENVIRONMENT_NAME} "
47
- kubectl delete --filename apps/${KUBERNETES_DEPLOYMENT_NAME} /${ENVIRONMENT_NAME} /db_rollback.yml
48
- echo " ::notice::Deleted DB Rollback job successfully"
49
- }
26
+ echo " Rolling back to migration revision: $rev_rollback_migrations "
27
+ kubectl exec -i deployment/${KUBERNETES_DEPLOYMENT_NAME} -c $KUBERNETES_DEPLOYMENT_NAME -- alembic downgrade ${rev_rollback_migrations}
28
+ kubectl rollout status deployment/${KUBERNETES_DEPLOYMENT_NAME}
0 commit comments