class Kaiser::Databases::Mysql

Public Class Methods

new(options) click to toggle source
# File lib/kaiser/databases/mysql.rb, line 6
def initialize(options)
  @options = options
end

Public Instance Methods

image_name() click to toggle source
# File lib/kaiser/databases/mysql.rb, line 39
def image_name
  version = @options[:version] || '5.6'
  "mysql:#{version}"
end
options_hash() click to toggle source
# File lib/kaiser/databases/mysql.rb, line 10
      def options_hash
        testpass = @options[:root_password] || 'testpassword'
        parameters = @options[:parameters] || ''
        port = @options[:port] || 3306

        {
          port: port,
          data_dir: '/var/lib/mysql',
          params: "-e MYSQL_ROOT_PASSWORD=#{testpass}",
          commands: parameters,
          waitscript_params: "
            -e MYSQL_ADDR=<%= db_container_name %>
            -e MYSQL_PORT=#{port}
            -e MYSQL_ROOT_PASSWORD=#{testpass}",
          waitscript: <<~SCRIPT
            #!/bin/bash

            echo "Waiting for mysql to start."
            until mysql -h"$MYSQL_ADDR" -P"$MYSQL_PORT" -uroot -p"$MYSQL_ROOT_PASSWORD" -e "SELECT 1"
            do
              printf "."
              sleep 1
            done

            echo -e "\nmysql started."
          SCRIPT
        }
      end