Skip to content
database

GitHub Action

mysql-schema-artifact

1.1.2 Latest version

mysql-schema-artifact

database

mysql-schema-artifact

Check to see if the MySQL schemas for 2 DBs are the same

Installation

Copy and paste the following snippet into your .yml file.

              

- name: mysql-schema-artifact

uses: GoLinks/[email protected]

Learn more about this action in GoLinks/mysql-schema-artifact-action

Choose a version

MySQL Schema Artifact Action

This action is used to create a SQL Dump file with no exteraneous data except the raw table structures This can be used to check if a stage and production database have the same schemas before merging code.

inputs:
  hostname: The host name to connect to the database
  username: The username to connect to the database
  password: The password to connect to the database
  database: The name of the database to dump
  file: The name of the file that will be dumped, and used as the artifact.

Example

# This is a basic workflow to help you get started with Actions

name: Check Databases

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: macos-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2
      
      - name: Install MySQL 5.7
        shell: bash
        run: |
          brew install mysql
          brew install [email protected]
          brew unlink mysql && brew link [email protected]
          echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> /Users/runner/.bash_profile
          bash
          mysql --version
          mysqldump --version
      # Runs a single command using the runners shell
      - name: Check MySQL schemas
        uses: ./
        with: 
          file: db.sql
          hostname: ${{ secrets.HOSTNAME }}
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}
          database: ${{ secrets.DATABASE }}
      - uses: actions/upload-artifact@v2
        with:
          name: db.sql
          path: ./db.sql