module Hippo::DB
Attributes
config_file[RW]
Public Instance Methods
configure_rake_environment()
click to toggle source
# File lib/hippo/db.rb, line 24 def configure_rake_environment require_relative "./db/fake_rails" require_relative './db/migrations' ActiveRecord::Tasks::DatabaseTasks.seed_loader = Hippo::DB default_schema = Extensions.controlling.root_path.join("db","schema.rb") ENV['SCHEMA'] ||= default_schema.to_s ENV['DB_STRUCTURE'] ||= default_schema.to_s ActiveRecord::Base.dump_schema_after_migration = !Hippo.env.production? Hippo::DB.establish_connection ActiveRecord::Tasks::DatabaseTasks.database_configuration = ActiveRecord::Base.configurations env=Hippo.config.environment.to_s ActiveRecord::Tasks::DatabaseTasks.env = env ActiveRecord::Tasks::DatabaseTasks.migrations_paths = 'db/migrate' ActiveRecord::Tasks::DatabaseTasks.current_config( config: ActiveRecord::Base.configurations[env] ) end
establish_connection(env=Hippo.config.environment)
click to toggle source
# File lib/hippo/db.rb, line 8 def establish_connection(env=Hippo.config.environment) if ENV['DATABASE_URL'] ::ActiveRecord::Base.establish_connection(ENV['DATABASE_URL']) else file = config_file || Extensions.controlling.root_path.join("config","database.yml") config = YAML::load( IO.read(file) ) ::ActiveRecord::Base.configurations = config ::ActiveRecord::Base.establish_connection(::ActiveRecord::Base.configurations[env.to_s]) end end
load_seed()
click to toggle source
# File lib/hippo/db.rb, line 19 def load_seed path = Pathname.new("./db/seed.rb") load path if path.exist? end
Private Instance Methods
migrations_dir()
click to toggle source
# File lib/hippo/db.rb, line 44 def migrations_dir ::ActiveRecord::Migrator.migrations_paths.first end
silence_activerecord() { || ... }
click to toggle source
# File lib/hippo/db.rb, line 48 def silence_activerecord old_logger = ::ActiveRecord::Base.logger ::ActiveRecord::Base.logger = nil yield if block_given? ::ActiveRecord::Base.logger = old_logger end