class Physique::FluentMigrator::Cmd
Attributes
parameters[R]
Public Class Methods
new(opts)
click to toggle source
# File lib/physique/tasks/fluent_migrator.rb, line 11 def initialize(opts) @work_dir = opts[:work_dir] @executable = opts[:exe] set_parameters opts end
Public Instance Methods
execute()
click to toggle source
# File lib/physique/tasks/fluent_migrator.rb, line 17 def execute sh "#{@executable} #{@parameters.join(' ')}" end
Private Instance Methods
set_parameters(opts)
click to toggle source
# File lib/physique/tasks/fluent_migrator.rb, line 23 def set_parameters(opts) @parameters = @parameters || [] @parameters << "--target #{opts.dll}" @parameters << "--provider #{opts.dialect}" @parameters << %Q{--connectionString "#{opts.connection_string}"} @parameters << "--task #{opts.task}" @parameters << "--namespace #{opts.namespace}" unless opts.namespace.blank? @parameters << "--nested #{opts.nested}" unless opts.namespace.blank? # Modifies the namespace option @parameters << "--output --outputFileName #{opts.output_file}" unless opts.output_file.blank? @parameters << '--preview true' if opts.preview @parameters << "--steps #{opts.steps}" if opts.task =~ /rollback/ @parameters << "--version #{opts.version}" if opts.task =~ /^migrate($|:up)|^rollback:toversion$/ @parameters << '--transaction-per-session' if opts.tps end