Обновить .gitea/workflows/flyway-migrate.yaml
This commit is contained in:
@@ -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;\"
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user