Sha256: 31f66423307bcfbafd18446d39ea0c04638f5c2768eac119d1c283905de1f5b2

Contents?: true

Size: 835 Bytes

Versions: 3

Compression:

Stored size: 835 Bytes

Contents

module DataMapper
  module Constraints
    module MysqlAdapter
      module SQL
        private

        def destroy_constraints_statement(table_name, constraint_name)
          <<-EOS.compress_lines
            ALTER TABLE #{quote_table_name(table_name)}
            DROP FOREIGN KEY #{quote_constraint_name(constraint_name)}
          EOS
        end

        def constraint_exists?(storage_name, constraint_name)
          statement = <<-EOS.compress_lines
            SELECT COUNT(*)
            FROM `information_schema`.`table_constraints`
            WHERE `constraint_type` = 'FOREIGN KEY'
            AND `table_schema` = ?
            AND `table_name` = ?
            AND `constraint_name` = ?
          EOS
          query(statement, db_name, storage_name, constraint_name).first > 0
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dm-constraints-0.9.4 lib/dm-constraints/mysql_adapter.rb
dm-constraints-0.9.5 lib/dm-constraints/mysql_adapter.rb
dm-constraints-0.9.6 lib/dm-constraints/mysql_adapter.rb