Skip to content

fix: stackoverflowの返信を見てパッチ #223

fix: stackoverflowの返信を見てパッチ

fix: stackoverflowの返信を見てパッチ #223

Workflow file for this run

name: Django CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
python-version: [ 3.11 ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Set up
env:
ENGINE: django.db.backends.mysql
NAME: portfolio_db
USER: python
PASSWORD: python123
HOST: localhost
PORT: 3306
run: |
sudo systemctl start mysql
mysql -uroot -proot -e "CREATE USER '$USER'@'localhost' IDENTIFIED BY '$PASSWORD';"
mysql -uroot -proot -e "GRANT CREATE, DROP, SELECT, UPDATE, INSERT, DELETE, ALTER, REFERENCES, INDEX on $NAME.* to '$USER'@'localhost';"
mysql -uroot -proot -e "GRANT CREATE, DROP, SELECT, UPDATE, INSERT, DELETE, ALTER, REFERENCES, INDEX on test_$NAME.* to '$USER'@'localhost';"
mysql -u$USER -p$PASSWORD -e "CREATE DATABASE $NAME DEFAULT CHARACTER SET utf8mb4;"
python3 --version
python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python manage.py makemigrations register
python manage.py makemigrations vietnam_research gmarker shopping linebot warehouse
# Output the environment variables
echo $ENGINE
echo $NAME
echo $USER
echo $PASSWORD
echo $HOST
echo $PORT
python manage.py migrate
export DJANGO_SECRET_KEY="$(base64 <<< "$RANDOM|TeStiNg|$RANDOM" | tr -d '\n')"
- name: Check Tables and Permissions
env:
DB_NAME: portfolio_db
DB_NAME_TEST: test_portfolio_db
DB_USER: root
DB_USER_PYTHON: python
DB_PASSWORD: root
DB_PASSWORD_PYTHON: python123
run: |
echo "Checking DB tables..."
mysql -u$DB_USER_PYTHON -p$DB_PASSWORD_PYTHON -e "USE $DB_NAME; SHOW TABLES;"
echo "Checking user permissions..."
mysql -u$DB_USER -p$DB_PASSWORD -e "SHOW GRANTS FOR '$DB_USER_PYTHON'@'localhost';"
- name: Run tests
env:
ENGINE: django.db.backends.mysql
NAME: portfolio_db
USER: python
PASSWORD: python123
HOST: localhost
PORT: 3306
run: |
mysql -uroot -proot -e "GRANT ALL on *.* to '$USER';"| mysql -u $USER --password="$PASSWORD" -h $HOST
source venv/bin/activate
python manage.py test