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