fusero-app-boilerplate/chart/templates/backend-migration.job.yaml
liquidrinu 03f615bf57
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 6m15s
test: add detailed connection testing with connection string
2025-05-26 16:18:04 +02:00

61 lines
2.6 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 with psql..."
PGPASSWORD=$POSTGRES_PASSWORD psql -h $POSTGRES_HOSTNAME -p $POSTGRES_PORT -U $POSTGRES_USER -d $POSTGRES_NAME -c "SELECT 1"
echo "Testing direct connection with connection string..."
PGPASSWORD=$POSTGRES_PASSWORD psql "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOSTNAME:$POSTGRES_PORT/$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,
driverOptions: {
connectionString: \`postgresql://\${process.env.POSTGRES_USER}:\${process.env.POSTGRES_PASSWORD}@\${process.env.POSTGRES_HOSTNAME}:\${process.env.POSTGRES_PORT}/\${process.env.POSTGRES_NAME}\`
}
};
console.log('MikroORM config:', JSON.stringify(config, null, 2));
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