class Doctrine

Public Class Methods

new() click to toggle source
# File lib/build/symfony/doctrine.rb, line 3
def initialize

end

Public Instance Methods

create_database(data_container_name, db_container_name = nil) click to toggle source

@param [string] data_container_name @param [string] db_container_name

# File lib/build/symfony/doctrine.rb, line 9
def create_database(data_container_name, db_container_name = nil)
    puts '-- Creating Symfony Doctrine database'
    docker_command = get_docker_command(data_container_name, db_container_name) << 'doctrine:database:create'
    puts '---- Running: ' << docker_command
    output = `#{docker_command}`
    print output
    fail 'Database creation failed!' unless /(exists|Created)/.match(output)
end
run_migrations(data_container_name, db_container_name = nil) click to toggle source

@param [string] data_container_name @param [string] db_container_name

# File lib/build/symfony/doctrine.rb, line 20
def run_migrations(data_container_name, db_container_name = nil)
    puts '-- Running Symfony Doctrine migrations'
    docker_command = get_docker_command(data_container_name, db_container_name) << 'doctine:migrations:migrate --no-interaction'
    puts '---- Running: ' << docker_command
    fail 'Database migrations failed!' unless system docker_command
end

Private Instance Methods

get_docker_command(data_container_name, db_container_name = nil) click to toggle source

@param [string] data_container_name @param [string] db_container_name @return [string]

# File lib/build/symfony/doctrine.rb, line 31
def get_docker_command(data_container_name, db_container_name = nil)
    docker_command = "docker run --rm --volumes-from #{data_container_name} "
    if db_container_name != nil
        docker_command << "--link #{db_container_name}:#{db_container_name} "
    end
    docker_command << 'vjftw/php-cli app/console --ansi '

    docker_command
end