Class: DbSubsetter::Dialect::MSSQL

Inherits:
Generic
  • Object
show all
Defined in:
lib/db_subsetter/dialect/ms_sql.rb

Class Method Summary collapse

Class Method Details

.importObject



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/db_subsetter/dialect/ms_sql.rb', line 4

def self.import
  ActiveRecord::Base.connection.execute('EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"')
  ActiveRecord::Base.connection.execute('EXEC sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER all"')
  ActiveRecord::Base.connection.execute("select 'ALTER INDEX ' + I.name + ' ON ' + T.name + ' DISABLE'
      from sys.indexes I
      inner join sys.tables T on I.object_id = T.object_id
      where I.type_desc = 'NONCLUSTERED'
      and I.name is not null")

  yield
  ActiveRecord::Base.connection.execute('EXEC sp_msforeachtable "ALTER TABLE ? ENABLE TRIGGER all"')
  ActiveRecord::Base.connection.execute('EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"')
end

.integrity_problemsObject



18
19
20
# File 'lib/db_subsetter/dialect/ms_sql.rb', line 18

def self.integrity_problems
  ActiveRecord::Base.connection.execute('EXEC sp_msforeachtable "DBCC CHECKCONSTRAINTS WITH ALL_CONSTRAINTS"')
end