begin¶ ↑
**************************************************************************
-
The MIT License (MIT)
-
Copyright © 2013-2014 QBurst Technologies Inc.
-
Permission is hereby granted, free of charge, to any person obtaining a copy
-
of this software and associated documentation files (the “Software”), to deal
-
in the Software without restriction, including without limitation the rights
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
copies of the Software, and to permit persons to whom the Software is
-
furnished to do so, subject to the following conditions:
-
The above copyright notice and this permission notice shall be included in
-
all copies or substantial portions of the Software.
-
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-
THE SOFTWARE.
**************************************************************************
end¶ ↑
require “rubygems” require “bundler/setup” require ‘em-synchrony/activerecord’ require ‘yaml’ require ‘erb’
namespace :db do
desc "loads database configuration in for other tasks to run" task :load_config do ActiveRecord::Base.configurations = db_conf # drop and create need to be performed with a connection to the 'postgres' (system) database ActiveRecord::Base.establish_connection db_conf["production"].merge('database' => 'postgres', 'schema_search_path' => 'public') end desc "creates and migrates your database" task :setup => :load_config do Rake::Task["db:create"].invoke Rake::Task["db:migrate"].invoke end desc "migrate your database" task :migrate do ActiveRecord::Base.establish_connection db_conf["production"] ActiveRecord::Migrator.migrate( ActiveRecord::Migrator.migrations_paths, ENV["VERSION"] ? ENV["VERSION"].to_i : nil ) end desc 'Drops the database' task :drop => :load_config do ActiveRecord::Base.connection.drop_database db_conf['production']['database'] end desc 'Creates the database' task :create => :load_config do ActiveRecord::Base.connection.create_database db_conf['production']['database'] end
end
def db_conf
config = YAML.load(ERB.new(File.read('config/database.yml')).result)
end