lib/zen/task/db.rb in zen-0.2.3 vs lib/zen/task/db.rb in zen-0.2.4

- old
+ new

@@ -20,16 +20,21 @@ # @author Yorick Peterse # @param [Boolean] show_output When set to false no output will be shown. # @since 0.2 # def migrate(show_output = true) - exts = Zen::Package.extensions + exts = Zen::Package.packages puts "Migrating..." if show_output === true exts.each do |ident, ext| - dir = ext.directory + '/../../migrations' + if ext.respond_to?(:migration_dir) and !ext.migration_dir.nil? + dir = ext.migration_dir + else + dir = ext.directory + '/../../migrations' + end + table = ext.identifier.gsub('.', '_').to_sym if File.directory?(dir) Zen::Database.handle.transaction do Sequel::Migrator.run(Zen::Database.handle, dir, :table => table) @@ -47,13 +52,18 @@ # # @author Yorick Peterse # @since 0.2 # def delete - exts = Zen::Package.extensions.map { |ident, ext| [ident, ext] } + exts = Zen::Package.packages.map { |ident, ext| [ident, ext] } exts.reverse.each do |ident, ext| - dir = ext.directory + '/../../migrations' + if ext.respond_to?(:migration_dir) and !ext.migration_dir.nil? + dir = ext.migration_dir + else + dir = ext.directory + '/../../migrations' + end + table = ext.identifier.gsub('.', '_').to_sym if File.directory?(dir) Zen::Database.handle.transaction do puts "Uninstalling \"#{ext.name}\""