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}\""