39 lines
1.4 KiB
YAML
39 lines
1.4 KiB
YAML
|
|
name: Setup PostgreSQL Database
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
setup-database:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install PostgreSQL client
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y postgresql-client
|
|
|
|
- name: Create database and user
|
|
env:
|
|
DB_HOST: ${{ secrets.POSTGRES_HOST }}
|
|
DB_PORT: ${{ secrets.POSTGRES_PORT }}
|
|
PGPASSWORD: ${{ secrets.POSTGRES_ROOT_PASSWORD }}
|
|
DB_NAME: ${{ secrets.DB_NAME }}
|
|
DB_USER: ${{ secrets.DB_USER }}
|
|
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
|
|
run: |
|
|
psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "CREATE DATABASE ${DB_NAME};"
|
|
psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';"
|
|
psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};"
|
|
|
|
- name: Verify setup
|
|
env:
|
|
DB_HOST: ${{ secrets.POSTGRES_HOST }}
|
|
DB_PORT: ${{ secrets.POSTGRES_PORT }}
|
|
PGPASSWORD: ${{ secrets.POSTGRES_ROOT_PASSWORD }}
|
|
DB_NAME: ${{ secrets.DB_NAME }}
|
|
DB_USER: ${{ secrets.DB_USER }}
|
|
run: |
|
|
echo "Database setup completed successfully!"
|
|
psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "\l" | grep ${DB_NAME}
|
|
psql -h ${DB_HOST} -p ${DB_PORT} -U postgres -c "\du" | grep ${DB_USER} |