Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
as6325400 committed Oct 19, 2024
1 parent 9dc7205 commit 75fb9f4
Showing 1 changed file with 28 additions and 10 deletions.
38 changes: 28 additions & 10 deletions .github/workflows/database-upgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,52 @@ jobs:
- 3306:3306
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: domjudge # 添加這行來自動創建數據庫
MYSQL_USER: domjudge
MYSQL_PASSWORD: domjudge
options: >-
--health-cmd="healthcheck.sh --connect --innodb_initialized"
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
volumes:
- ${{ github.workspace }}/.github/jobs/old_database.sql:/docker-entrypoint-initdb.d/old_database.sql
steps:
- uses: actions/checkout@v4

- name: Install DOMjudge
run: .github/jobs/baseinstall.sh

- name: Import olddata into MariaDB
- name: Wait and Import Database
run: |
docker exec -i sqlserver mysql -h127.0.0.1 -u${{ env.MYSQL_USER }} -p${{ env.MYSQL_PASSWORD }} domjudge < .github/jobs/old_database.sql
# 安裝 MySQL client
apt-get update
apt-get install -y default-mysql-client
# 等待數據庫準備就緒
while ! mysqladmin ping -h"sqlserver" -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" --silent; do
echo "Waiting for database connection..."
sleep 2
done
# 導入數據
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" domjudge < .github/jobs/old_database.sql
- name: Upgrade Database
run: |
docker exec domserver /opt/domjudge/domserver/bin/dj_setup_database upgrade
/opt/domjudge/domserver/bin/dj_setup_database upgrade
- name: Check for Errors in the Upgrade
run: |
docker exec sqlserver mysql -uroot -proot -e "SHOW TABLES IN domjudge;"
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "SHOW TABLES FROM domjudge;"
- name: Clean up
- name: Debug Database Status
if: always()
run: |
docker stop domserver sqlserver
docker rm domserver sqlserver
echo "Testing database connection..."
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "SELECT VERSION();"
echo "Checking database permissions..."
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "SHOW GRANTS FOR CURRENT_USER;"
echo "Listing databases..."
mysql -hsqlserver -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -e "SHOW DATABASES;"

0 comments on commit 75fb9f4

Please sign in to comment.