Sha256: e9d47e50c4177639bade43c1d52828c13bb5cb69ba9451135503d03c156bdf51

Contents?: true

Size: 912 Bytes

Versions: 32

Compression:

Stored size: 912 Bytes

Contents

# encoding: utf-8
module Sunrise
  module Utils
    module Mysql
      def self.included(base)
        base.extend(ClassMethods)
      end
      
      module ClassMethods
        # Deletes all rows in table very fast, but without calling +destroy+ method
        # nor any hooks.
		    def truncate!
			    transaction { connection.execute("TRUNCATE TABLE #{quoted_table_name};") }
		    end
		
        # Disables key updates for model table
        def disable_keys
          connection.execute("ALTER TABLE #{quoted_table_name} DISABLE KEYS")
        end
        
        # Enables key updates for model table
        def enable_keys
          connection.execute("ALTER TABLE #{quoted_table_name} ENABLE KEYS")
        end

        # Disables keys, yields block, enables keys.
        def with_keys_disabled
          disable_keys
          yield
          enable_keys
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
sunrise-cms-0.7.0.rc2 lib/sunrise/utils/mysql.rb
sunrise-cms-0.7.0.rc1 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.11 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.10 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.9 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.8 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.7 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.6 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.5 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.4 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.3 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.2 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.1 lib/sunrise/utils/mysql.rb
sunrise-cms-0.6.0 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.3 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.2 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.1 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.0 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.0.rc5 lib/sunrise/utils/mysql.rb
sunrise-cms-0.5.0.rc4 lib/sunrise/utils/mysql.rb