Skip to content

Commit 386f35c

Browse files
committed
Add new Action to own .sql
1 parent eb6acd8 commit 386f35c

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

.github/workflows/sql-test.yml

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches: [ main, master ]
66
pull_request:
7+
workflow_dispatch: {}
78

89
jobs:
910
run-sql:
@@ -22,15 +23,16 @@ jobs:
2223
--health-interval=10s
2324
--health-timeout=5s
2425
--health-retries=10
26+
2527
steps:
2628
- name: Checkout
2729
uses: actions/checkout@v4
2830

29-
- name: Show repo files
31+
- name: Show repo files
3032
run: |
31-
pwd
32-
ls -la
33-
ls -la Vorlesungen || true
33+
pwd
34+
ls -la
35+
ls -la Vorlesungen || true
3436
3537
- name: Wait for MySQL
3638
run: |
@@ -40,12 +42,34 @@ jobs:
4042
fi
4143
sleep 2
4244
done
43-
echo "MySQL did not become healthy in time" && exit 1
45+
echo "MySQL did not become healthy in time"
46+
exit 1
4447
4548
- name: Run SQL file
4649
run: |
4750
mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" testdb < Vorlesungen/16_10_2025.sql
4851
49-
- name: Smoke test
52+
- name: Verify table 'vorlesung' is populated
53+
run: |
54+
set -e
55+
# existiert die Tabelle?
56+
exists=$(mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -N -e "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='testdb' AND table_name='vorlesung';")
57+
if [ "$exists" -eq 0 ]; then
58+
echo "❌ Tabelle 'vorlesung' existiert nicht in Schema 'testdb'."
59+
exit 1
60+
fi
61+
# Anzahl Zeilen
62+
rows=$(mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -N -e "USE testdb; SELECT COUNT(*) FROM vorlesung;")
63+
echo "vorlesung rows: $rows"
64+
if [ "$rows" -eq 0 ]; then
65+
echo "❌ Tabelle 'vorlesung' ist leer."
66+
exit 1
67+
fi
68+
# ein paar Datensätze zeigen
69+
mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT * FROM vorlesung ORDER BY 1 LIMIT 10;"
70+
71+
- name: Smoke test (products, optional)
5072
run: |
51-
mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT * FROM products;"
73+
set +e
74+
mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SELECT COUNT(*) AS cnt FROM products;" || echo "Hinweis: Tabelle 'products' nicht vorhanden."
75+
mysql -h 127.0.0.1 -P 3306 -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e "USE testdb; SHOW TABLES;"

0 commit comments

Comments
 (0)