Class: KPM::Migrations
- Inherits:
-
Object
- Object
- KPM::Migrations
- Defined in:
- lib/kpm/migrations.rb
Constant Summary collapse
- KILLBILL_MIGRATION_PATH =
/src\/main\/resources\/org\/killbill\/billing\/[a-z]+\/migration\/(V[0-9a-zA-Z_]+.sql)/
- JAVA_PLUGIN_MIGRATION_PATH =
/src\/main\/resources\/migration\/(V[0-9a-zA-Z_]+.sql)/
- RUBY_PLUGIN_MIGRATION_PATH =
/db\/migrate\/([0-9a-zA-Z_]+.rb)/
Instance Method Summary collapse
-
#initialize(from_version, to_version = nil, repository = 'killbill/killbill', oauth_token = nil, logger = Logger.new(STDOUT)) ⇒ Migrations
constructor
Go to github.com/settings/tokens to generate a token.
- #migrations ⇒ Object
- #save(dir = nil) ⇒ Object
Constructor Details
#initialize(from_version, to_version = nil, repository = 'killbill/killbill', oauth_token = nil, logger = Logger.new(STDOUT)) ⇒ Migrations
Go to github.com/settings/tokens to generate a token
15 16 17 18 19 20 21 |
# File 'lib/kpm/migrations.rb', line 15 def initialize(from_version, to_version = nil, repository = 'killbill/killbill', oauth_token = nil, logger = Logger.new(STDOUT)) @from_version = from_version @to_version = to_version @repository = repository @oauth_token = oauth_token @logger = logger end |
Instance Method Details
#migrations ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/kpm/migrations.rb', line 23 def migrations @migrations ||= begin if @to_version.nil? for_version(@from_version) else migrations_to_skip = Set.new for_version(@from_version, true).each { |migration| migrations_to_skip << migration[:name] } for_version(@to_version, false, migrations_to_skip) end end end |
#save(dir = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/kpm/migrations.rb', line 36 def save(dir = nil) return nil if migrations.size == 0 dir ||= Dir.mktmpdir @logger.debug("Storing migrations to #{dir}") migrations.each do |migration| migration_path = Pathname.new(dir).join(migration[:name]) File.open(migration_path, 'w') do |file| @logger.debug("Storing migration #{migration_path}") file.write(migration[:sql]) end end dir end |