Sha256: cd8191b3dd648ca4bb3c9c773b0daf4c5f3af233ed759651ca79baa0a5a6b5e1
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
require 'active_record/base' require 'active_record/connection_adapters/abstract_adapter' require 'database_cleaner/active_record/base' require 'database_cleaner/generic/base' require 'database_cleaner/generic/surgicalstrike' module ActiveRecord class Base include ::DatabaseCleaner::Generic::Dataholder extend ActiveRecord::Callbacks after_create :add_vip private def add_vip checktarget(self) end end module ConnectionAdapters class AbstractAdapter def views @views ||= select_values("select table_name from information_schema.views where table_schema = '#{current_database}'") rescue [] end end end end module DatabaseCleaner::ActiveRecord class Surgicalstrike include ::DatabaseCleaner::ActiveRecord::Base include ::DatabaseCleaner::Generic::Dataholder include ::DatabaseCleaner::Generic::Surgicalstrike def start connection = connection_klass.connection $strike_targets = tables_to_strike(connection) $vips = Array.new end def clean strike_tables end private def strike_tables $vips = $vips.reverse $vips.each do |record| record.delete end end def tables_to_strike(connection) (@only || connection.tables) - @tables_to_exclude - connection.views end # overwritten def migration_storage_name 'schema_migrations' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
surgical_strike-0.7.7 | lib/database_cleaner/active_record/surgicalstrike.rb |
surgical_strike-0.7.6 | lib/database_cleaner/active_record/surgicalstrike.rb |