lib/ditty/rake_tasks.rb in ditty-0.3.0 vs lib/ditty/rake_tasks.rb in ditty-0.3.1
- old
+ new
@@ -1,9 +1,10 @@
# frozen_string_literal: true
require 'rake'
require 'rake/tasklib'
+require 'ditty/db'
module Ditty
class Tasks < ::Rake::TaskLib
include ::Rake::DSL if defined?(::Rake::DSL)
@@ -48,38 +49,45 @@
puts 'Running the Ditty migrations'
Rake::Task['ditty:migrate:up'].invoke
end
namespace :migrate do
+ require 'logger'
+
folder = 'migrations'
desc 'Check if the migration is current'
task :check do
- require 'sequel'
+ ::DB.loggers << Logger.new($stdout)
puts 'Running Ditty Migrations check'
::Sequel.extension :migration
- ::Sequel::Migrator.check_current(::DB, folder)
+ begin
+ ::Sequel::Migrator.check_current(::DB, folder)
+ puts 'Migrations up to date'
+ rescue Sequel::Migrator::Error => _e
+ puts 'Migrations NOT up to date'
+ end
end
desc 'Migrate Ditty database to latest version'
task :up do
- require 'sequel'
+ ::DB.loggers << Logger.new($stdout)
puts 'Running Ditty Migrations up'
::Sequel.extension :migration
::Sequel::Migrator.apply(::DB, folder)
end
- desc 'Roll back the Ditty database'
+ desc 'Remove the whole Ditty database. You WILL lose data'
task :down do
- require 'sequel'
+ ::DB.loggers << Logger.new($stdout)
puts 'Running Ditty Migrations down'
::Sequel.extension :migration
::Sequel::Migrator.apply(::DB, folder, 0)
end
- desc 'Reset the Ditty database'
+ desc 'Reset the Ditty database. You WILL lose data'
task :bounce do
- require 'sequel'
+ ::DB.loggers << Logger.new($stdout)
puts 'Running Ditty Migrations bounce'
::Sequel.extension :migration
::Sequel::Migrator.apply(::DB, folder, 0)
::Sequel::Migrator.apply(::DB, folder)
end