Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rails engine #107

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions lib/sequel_rails/railties/database.rake
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ namespace sequel_rails_namespace do
@db_for_current_env[Rails.env] ||= ::SequelRails.setup(Rails.env)
end

def run_dump(namespace)
case (SequelRails.configuration.schema_format ||= :ruby)
when :ruby
Rake::Task["#{namespace}:schema:dump"].invoke
when :sql
Rake::Task["#{namespace}:structure:dump"].invoke
else
abort "unknown schema format #{SequelRails.configuration.schema_format}"
end
end

# desc "Raises an error if there are pending migrations"
task :abort_if_pending_migrations => [:environment, "#{sequel_rails_namespace}:migrate:load"] do
if SequelRails::Migrations.pending_migrations?
Expand Down Expand Up @@ -70,14 +81,7 @@ namespace sequel_rails_namespace do
end

task :dump => :environment do
case (SequelRails.configuration.schema_format ||= :ruby)
when :ruby
Rake::Task["#{sequel_rails_namespace}:schema:dump"].invoke
when :sql
Rake::Task["#{sequel_rails_namespace}:structure:dump"].invoke
else
abort "unknown schema format #{SequelRails.configuration.schema_format}"
end
run_dump(sequel_rails_namespace)
end

task :load => :environment do
Expand Down Expand Up @@ -147,22 +151,22 @@ namespace sequel_rails_namespace do
version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
fail 'VERSION is required' unless version
SequelRails::Migrations.migrate_up!(version)
Rake::Task["#{sequel_rails_namespace}:dump"].invoke if SequelRails.configuration.schema_dump
run_dump(sequel_rails_namespace) if SequelRails.configuration.schema_dump
end

desc 'Runs the "down" for a given migration VERSION.'
task :down => :load do
version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
fail 'VERSION is required' unless version
SequelRails::Migrations.migrate_down!(version)
Rake::Task["#{sequel_rails_namespace}:dump"].invoke if SequelRails.configuration.schema_dump
run_dump(sequel_rails_namespace) if SequelRails.configuration.schema_dump
end
end

desc 'Migrate the database to the latest version'
task :migrate => 'migrate:load' do
SequelRails::Migrations.migrate_up!(ENV['VERSION'] ? ENV['VERSION'].to_i : nil)
Rake::Task["#{sequel_rails_namespace}:dump"].invoke if SequelRails.configuration.schema_dump
run_dump(sequel_rails_namespace) if SequelRails.configuration.schema_dump
end

desc 'Rollback the latest migration file or down to specified VERSION=x'
Expand All @@ -173,7 +177,7 @@ namespace sequel_rails_namespace do
SequelRails::Migrations.previous_migration
end
SequelRails::Migrations.migrate_down! version
Rake::Task["#{sequel_rails_namespace}:dump"].invoke if SequelRails.configuration.schema_dump
run_dump(sequel_rails_namespace) if SequelRails.configuration.schema_dump
end

desc 'Load the seed data from db/seeds.rb'
Expand Down