Advertisement
Guest User

Untitled

a guest
May 27th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. namespace :db do
  2. namespace :fixtures do
  3. desc 'Load fixtures into postgres'
  4. task :pg => [:environment, :load_config] do
  5. require 'active_record/fixtures'
  6. require 'postgres_foreign_keys'
  7.  
  8. module ActiveRecord::ConnectionAdapters::PostgreSQL::ReferentialIntegrity
  9. def supports_disable_referential_integrity?
  10. false
  11. end
  12. end
  13.  
  14. fixtures_dir = Rails.root.join('spec', 'fixtures').to_s
  15.  
  16. fixture_files = if ENV['FIXTURES']
  17. ENV['FIXTURES'].split(',')
  18. else
  19. # The use of String#[] here is to support namespaced fixtures
  20. Dir["#{fixtures_dir}/**/*.yml"].map { |f| f[(fixtures_dir.size + 1)..-5] }
  21. end
  22.  
  23. PostgreSQLForeignKeys.make_deferrable
  24.  
  25. conn = ActiveRecord::Base.connection
  26. conn.transaction do
  27. conn.execute 'SET CONSTRAINTS ALL DEFERRED'
  28. ActiveRecord::FixtureSet.create_fixtures(fixtures_dir, fixture_files)
  29. end
  30. end
  31. end
  32. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement