Обновить .gitea/workflows/flyway-migrate.yaml

This commit is contained in:
2025-12-08 22:28:19 +03:00
parent ec96837334
commit b1cf795e61
+33 -6
View File
@@ -9,17 +9,44 @@ jobs:
- name: Check out repository code
uses: actions/checkout@v3
- name: Create test database
uses: docker://postgres:alpine
with:
args: sh -c "
export PGPASSWORD='${{ secrets.DB_PASSWORD }}' &&
psql -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d postgres \
-c \"DROP DATABASE IF EXISTS testdb;\" \
-c \"CREATE DATABASE testdb;\"
"
- name: Run Flyway Migrate
# Используем официальный Docker-образ Flyway
# Это надежнее, чем устанавливать Java и Flyway вручную на раннере
uses: docker://flyway/flyway:10
with:
args: -url=jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/${{ secrets.DB_NAME }} -user=${{ secrets.DB_USER }} -password=${{ secrets.DB_PASSWORD }} -locations=filesystem:./sql -baselineOnMigrate=true migrate
args: >
-url=jdbc:postgresql://${{ secrets.DB_HOST }}:${{ secrets.DB_PORT }}/testdb
-user=${{ secrets.DB_USER }}
-password=${{ secrets.DB_PASSWORD }}
-locations=filesystem:./sql
-baselineOnMigrate=true
migrate
env:
FLYWAY_CLEAN_DISABLED: false
- name: Run Validation Test (Select Count)
# Используем легковесный образ postgres:alpine для запуска psql
- name: Run Validation Test (SELECT COUNT)
uses: docker://postgres:alpine
with:
args: sh -c "export PGPASSWORD=${{ secrets.DB_PASSWORD }} && psql -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d ${{ secrets.DB_NAME }} -c 'SELECT COUNT(*) FROM users;'"
args: sh -c "
export PGPASSWORD='${{ secrets.DB_PASSWORD }}' &&
psql -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d testdb \
-c 'SELECT COUNT(*) FROM users;'
"
- name: Drop test database
if: always()
uses: docker://postgres:alpine
with:
args: sh -c "
export PGPASSWORD='${{ secrets.DB_PASSWORD }}' &&
psql -h ${{ secrets.DB_HOST }} -p ${{ secrets.DB_PORT }} -U ${{ secrets.DB_USER }} -d postgres \
-c \"DROP DATABASE IF EXISTS testdb;\"
"