Sha256: 923c3d03333b88815db6697590df7e0eedc5d5e3a2f58493f5e3e6a2a9522e46
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
## # Task group for managing packages. # # @author Yorick Peterse # @since 0.2.5 # namespace :package do desc 'Lists all installed packages' task :list do Zen::Package::Registered.each do |name, pkg| message = <<-MSG -------------------------- Name: #{name} Author: #{pkg.author} #{pkg.about} MSG puts message end end desc 'Migrates a package to a certain version' task :migrate, :name, :version do |task, args| if !args[:name] abort "You need to specify the name of a package to migrate" end if !args[:version] version = nil else version = args[:version].to_i end # Validate the package name if !Zen::Package::Registered[args[:name].to_sym] abort "The package name \"#{args[:name]}\" is invalid." end package = Zen::Package::Registered[args[:name].to_sym] # Get the migrations directory if package.respond_to?(:migration_dir) and !package.migration_dir.nil? dir = package.migration_dir else dir = package.directory + '/../../migrations' end # Validate the directory if !File.directory?(dir) abort "The directory #{dir} does not exist." end table = 'migrations_package_' + package.name.to_s Ramaze::Log.info('Migrating package...') # Run all migrations Zen.database.transaction do Sequel::Migrator.run( Zen.database, dir, :table => table, :target => version ) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
zen-0.2.7 | lib/zen/task/package.rake |
zen-0.2.6.1 | lib/zen/task/package.rake |
zen-0.2.6 | lib/zen/task/package.rake |