Sha256: c8cf2802d819e3ede6c6bc9c8ddf66b0659763894b911881eaf53fc59db6ecad

Contents?: true

Size: 2 KB

Versions: 13

Compression:

Stored size: 2 KB

Contents

Capistrano::Configuration.instance.load do |instance|

  require File.expand_path("#{File.dirname(__FILE__)}/../../util")
  require File.expand_path("#{File.dirname(__FILE__)}/../../mysql")

  instance.set :local_rails_env, ENV['RAILS_ENV'] || 'development' unless exists?(:local_rails_env)
  instance.set :db_local_clean, false unless exists?(:db_local_clean)

  namespace :db do
    namespace :remote do
      desc 'Synchronize the local database to the remote database'
      task :sync, :roles => :db do
        if if Util.prompt 'Are you sure you want to REPLACE THE REMOTE DATABASE with local database'
             Database.local_to_remote(instance)
           end
        end
      end

      namespace :local do
        desc 'Synchronize your local database using remote database data'
        task :sync, :roles => :db do
          puts "Local database: #{Database::Local.new(instance).database}"
          if rails_env == 'production'
            puts 'Never sync remote production database!'
          else
            if Util.prompt 'Are you sure you want to erase your local database with server database'
              Database.remote_to_local(instance)
            end
          end
        end
      end

      desc 'Synchronize your local database using remote database data'
      task :pull do
        db.local.sync
      end

      desc 'Synchronize the local database to the remote database'
      task :push do
        db.remote.sync
      end
    end
  end

  namespace :deploy do
    after 'deploy:make_symlinks', 'deploy:dynamic_migrations' if fetch(:dynamic_migration, false)

    task :dynamic_migrations do
      from = source.next_revision(current_revision)
      if capture("cd #{latest_release} && #{source.local.log(from)} db/migrate | wc -l").to_i > 0
        run "cd #{current_release} && RAILS_ENV=#{rails_env} bundle exec rake db:migrate"
        logger.info "New migrations added - running migrations."
      else
        logger.info "Skipping migrations - there are not any new."
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
caploy-0.1.12 lib/caploy/recipes/database.rb
caploy-0.1.11 lib/caploy/recipes/database.rb
caploy-0.1.10 lib/caploy/recipes/database.rb
caploy-0.1.9 lib/caploy/recipes/database.rb
caploy-0.1.8 lib/caploy/recipes/database.rb
caploy-0.1.7 lib/caploy/recipes/database.rb
caploy-0.1.6 lib/caploy/recipes/database.rb
caploy-0.1.5 lib/caploy/recipes/database.rb
caploy-0.1.4 lib/caploy/recipes/database.rb
caploy-0.1.3 lib/caploy/recipes/database.rb
caploy-0.1.2 lib/caploy/recipes/database.rb
caploy-0.1.1 lib/caploy/recipes/database.rb
caploy-0.1.0 lib/caploy/recipes/database.rb