Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace :db do
- namespace :fixtures do
- desc 'Load fixtures into postgres'
- task :pg => [:environment, :load_config] do
- require 'active_record/fixtures'
- require 'postgres_foreign_keys'
- module ActiveRecord::ConnectionAdapters::PostgreSQL::ReferentialIntegrity
- def supports_disable_referential_integrity?
- false
- end
- end
- fixtures_dir = Rails.root.join('spec', 'fixtures').to_s
- fixture_files = if ENV['FIXTURES']
- ENV['FIXTURES'].split(',')
- else
- # The use of String#[] here is to support namespaced fixtures
- Dir["#{fixtures_dir}/**/*.yml"].map { |f| f[(fixtures_dir.size + 1)..-5] }
- end
- PostgreSQLForeignKeys.make_deferrable
- conn = ActiveRecord::Base.connection
- conn.transaction do
- conn.execute 'SET CONSTRAINTS ALL DEFERRED'
- ActiveRecord::FixtureSet.create_fixtures(fixtures_dir, fixture_files)
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement