fusero-app-boilerplate/chart/templates/backend-migration.job.yaml
liquidrinu b2706bc747
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 6m1s
test: add detailed connection testing to migration job
2025-05-25 23:49:25 +02:00

56 lines
2.0 KiB
YAML

apiVersion: batch/v1
kind: Job
metadata:
name: fusero-backend-db-init
spec:
backoffLimit: 0
template:
metadata:
name: fusero-backend-db-init
spec:
imagePullSecrets:
- name: regcred
containers:
- name: migrate-seed
image: {{ .Values.backend.image }}
command: ["/bin/sh", "-c"]
args:
- |
echo "Environment variables:"
echo "POSTGRES_NAME: $POSTGRES_NAME"
echo "POSTGRES_HOSTNAME: $POSTGRES_HOSTNAME"
echo "POSTGRES_PORT: $POSTGRES_PORT"
echo "POSTGRES_USER: $POSTGRES_USER"
echo "Testing direct connection..."
PGPASSWORD=$POSTGRES_PASSWORD psql -h $POSTGRES_HOSTNAME -p $POSTGRES_PORT -U $POSTGRES_USER -d $POSTGRES_NAME -c "SELECT 1"
echo "Testing MikroORM connection..."
node -e "
const { PostgreSqlDriver } = require('@mikro-orm/postgresql');
const { MikroORM } = require('@mikro-orm/core');
const config = {
driver: PostgreSqlDriver,
dbName: process.env.POSTGRES_NAME,
host: process.env.POSTGRES_HOSTNAME,
port: parseInt(process.env.POSTGRES_PORT),
user: process.env.POSTGRES_USER,
password: process.env.POSTGRES_PASSWORD,
};
console.log('MikroORM config:', config);
MikroORM.init(config).then(orm => {
console.log('Connected successfully!');
orm.close();
}).catch(err => {
console.error('Connection failed:', err);
process.exit(1);
});
"
echo "Running migrations and seeds..."
npx mikro-orm migration:up
npm run seed
env:
{{- range $key, $val := .Values.backend.env }}
- name: {{ $key }}
value: "{{ $val }}"
{{- end }}
restartPolicy: Never