Class: Pgtk::LiquibaseTask

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/pgtk/liquibase_task.rb

Overview

Liquibase rake task.

Author

Yegor Bugayenko ([email protected])

Copyright

Copyright © 2019-2025 Yegor Bugayenko

License

MIT

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) {|Pgtk::LiquibaseTask, Object| ... } ⇒ LiquibaseTask

Initialize a new Liquibase task.

Parameters:

  • args (Array)

    Task arguments

Yields:



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/pgtk/liquibase_task.rb', line 51

def initialize(*args, &task_block)
  super()
  @name = args.shift || :liquibase
  @quiet = false
  @contexts = ''
  @liquibase_version = '3.2.2'
  @postgresql_version = '42.7.0'
  desc 'Deploy Liquibase changes to the running PostgreSQL server' unless ::Rake.application.last_description
  task(name, *args) do |_, task_args|
    RakeFileUtils.send(:verbose, true) do
      yield(*[self, task_args].slice(0, task_block.arity)) if block_given?
      run
    end
  end
end

Instance Attribute Details

#contextsString

Liquibase contexts to apply

Returns:

  • (String)


45
46
47
# File 'lib/pgtk/liquibase_task.rb', line 45

def contexts
  @contexts
end

#liquibase_versionString

Liquibase version to use

Returns:

  • (String)


37
38
39
# File 'lib/pgtk/liquibase_task.rb', line 37

def liquibase_version
  @liquibase_version
end

#masterString

Path to Liquibase master XML file

Returns:

  • (String)


25
26
27
# File 'lib/pgtk/liquibase_task.rb', line 25

def master
  @master
end

#nameSymbol

Task name

Returns:

  • (Symbol)


21
22
23
# File 'lib/pgtk/liquibase_task.rb', line 21

def name
  @name
end

#postgresql_versionString

PostgreSQL JDBC driver version to use

Returns:

  • (String)


41
42
43
# File 'lib/pgtk/liquibase_task.rb', line 41

def postgresql_version
  @postgresql_version
end

#quietBoolean

Whether to suppress output

Returns:

  • (Boolean)


33
34
35
# File 'lib/pgtk/liquibase_task.rb', line 33

def quiet
  @quiet
end

#yamlString+

Path to YAML file with PostgreSQL connection details

Returns:

  • (String, Array<String>)


29
30
31
# File 'lib/pgtk/liquibase_task.rb', line 29

def yaml
  @yaml
end