Sha256: 9ed0e72a4cad38250eceec7ef4cace4f147a66049c7e60c12d2248c04e54f9dc
Contents?: true
Size: 1.67 KB
Versions: 36
Compression:
Stored size: 1.67 KB
Contents
# frozen_string_literal: true require "cases/helper_sqlserver" class IndexTestSQLServer < ActiveRecord::TestCase before do connection.create_table(:testings) do |t| t.column :foo, :string, limit: 100 t.column :bar, :string, limit: 100 t.string :first_name t.string :last_name, limit: 100 t.string :key, limit: 100 t.boolean :administrator end end after do connection.drop_table :testings rescue nil end it "add index with order" do assert_sql(/CREATE.*INDEX.*\(\[last_name\] DESC\)/i) do connection.add_index "testings", ["last_name"], order: { last_name: :desc } connection.remove_index "testings", ["last_name"] end assert_sql(/CREATE.*INDEX.*\(\[last_name\] DESC, \[first_name\]\)/i) do connection.add_index "testings", ["last_name", "first_name"], order: { last_name: :desc } connection.remove_index "testings", ["last_name", "first_name"] end assert_sql(/CREATE.*INDEX.*\(\[last_name\] DESC, \[first_name\] ASC\)/i) do connection.add_index "testings", ["last_name", "first_name"], order: { last_name: :desc, first_name: :asc } connection.remove_index "testings", ["last_name", "first_name"] end end it "add index with where" do assert_sql(/CREATE.*INDEX.*\(\[last_name\]\) WHERE \[first_name\] = N'john doe'/i) do connection.add_index "testings", "last_name", where: "[first_name] = N'john doe'" connection.remove_index "testings", "last_name" end end it "add index with expression" do connection.execute "ALTER TABLE [testings] ADD [first_name_upper] AS UPPER([first_name])" connection.add_index "testings", "first_name_upper" end end
Version data entries
36 entries across 36 versions & 1 rubygems