Skip to content

Dockerized flyway command-line tool with MySQL (Connector/J) JDBC Driver

License

Notifications You must be signed in to change notification settings

dhoer/docker-flyway

Repository files navigation

Docker Flyway

Docker Auto Build travis

Extends Official Flyway Command-line Docker images to use MySQL Connector/J driver instead of MariaDB Connector/J driver for jdbc:mysql: connections.

Supported tags and respective Dockerfile links

Getting started

docker run dhoer/flyway:alpine [flyway cli arguments here]

Example

Add a file named V1__Initial.sql with following contents:

CREATE TABLE MyTable (
    MyColumn VARCHAR(100) NOT NULL
);

Linux

docker run --rm -v $(pwd):/flyway/sql dhoer/flyway:alpine -url=jdbc:mysql://mydb -schemas=myschema -user=root -password=P@ssw0rd migrate

Windows 10 (Docker for Windows)

CMD:

docker run --rm -v %cd%:/flyway/sql dhoer/flyway:alpine -url=jdbc:mysql://mydb -schemas=myschema -user=root -password=P@ssw0rd migrate

PowerShell:

docker run --rm -v C:\FolderWhereYourScriptsReside:/flyway/sql dhoer/flyway:alpine -url=jdbc:mysql://mydb -schemas=myschema -user=root -password=P@ssw0rd migrate

Windows 7 (Docker Toolbox)

docker run --rm -v /c/Users/FolderWhereYourScriptsReside:/flyway/sql dhoer/flyway:alpine -url=jdbc:mysql://mydb -schemas=myschema -user=root -password=P@ssw0rd migrate

Example docker-compose.yml

To run both Flyway and the database that will be migrated in containers, you can use a docker-compose.yml file that starts and links both containers.

version: '3'
services:
  flyway:
    image: dhoer/flyway:alpine
    command: -url=jdbc:mysql://db -schemas=myschema -user=root -password=P@ssw0rd migrate
    volumes:
      - .:/flyway/sql
    depends_on:
      - db
  db:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=P@ssw0rd
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    ports:
      - 3306:3306

Run docker-compose up -d db, wait a minute for MySQL to be initialized (or tail logs with docker-compose logs -f) then run docker-compose up flyway.

About

Dockerized flyway command-line tool with MySQL (Connector/J) JDBC Driver

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published