activerecord-sqlserver-adapter 6.0.3 → 6.1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -3
- data/CHANGELOG.md +18 -77
- data/Gemfile +1 -2
- data/README.md +13 -2
- data/VERSION +1 -1
- data/activerecord-sqlserver-adapter.gemspec +1 -1
- data/appveyor.yml +7 -5
- data/lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb +0 -2
- data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +0 -13
- data/lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb +7 -4
- data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +0 -2
- data/lib/active_record/connection_adapters/sqlserver/core_ext/preloader.rb +0 -2
- data/lib/active_record/connection_adapters/sqlserver/database_limits.rb +0 -4
- data/lib/active_record/connection_adapters/sqlserver/database_statements.rb +27 -15
- data/lib/active_record/connection_adapters/sqlserver/quoting.rb +3 -3
- data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +22 -1
- data/lib/active_record/connection_adapters/sqlserver/schema_dumper.rb +9 -3
- data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +7 -5
- data/lib/active_record/connection_adapters/sqlserver/sql_type_metadata.rb +27 -7
- data/lib/active_record/connection_adapters/sqlserver/table_definition.rb +0 -1
- data/lib/active_record/connection_adapters/sqlserver/transaction.rb +2 -2
- data/lib/active_record/connection_adapters/sqlserver/utils.rb +1 -1
- data/lib/active_record/connection_adapters/sqlserver_adapter.rb +83 -66
- data/lib/active_record/connection_adapters/sqlserver_column.rb +17 -0
- data/lib/active_record/sqlserver_base.rb +9 -15
- data/lib/active_record/tasks/sqlserver_database_tasks.rb +17 -14
- data/lib/arel/visitors/sqlserver.rb +60 -28
- data/test/cases/adapter_test_sqlserver.rb +17 -15
- data/test/cases/change_column_collation_test_sqlserver.rb +33 -0
- data/test/cases/coerced_tests.rb +470 -95
- data/test/cases/disconnected_test_sqlserver.rb +39 -0
- data/test/cases/execute_procedure_test_sqlserver.rb +9 -0
- data/test/cases/in_clause_test_sqlserver.rb +27 -0
- data/test/cases/migration_test_sqlserver.rb +7 -0
- data/test/cases/order_test_sqlserver.rb +7 -0
- data/test/cases/primary_keys_test_sqlserver.rb +103 -0
- data/test/cases/rake_test_sqlserver.rb +3 -2
- data/test/cases/schema_dumper_test_sqlserver.rb +9 -0
- data/test/migrations/create_clients_and_change_column_collation.rb +19 -0
- data/test/models/sqlserver/sst_string_collation.rb +3 -0
- data/test/schema/sqlserver_specific_schema.rb +7 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic.dump +0 -0
- data/test/support/marshal_compatibility_fixtures/SQLServer/rails_6_0_topic_associations.dump +0 -0
- data/test/support/sql_counter_sqlserver.rb +14 -12
- metadata +23 -9
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "cases/helper_sqlserver"
|
4
|
+
require "migrations/create_clients_and_change_column_collation"
|
5
|
+
|
6
|
+
class ChangeColumnCollationTestSqlServer < ActiveRecord::TestCase
|
7
|
+
before do
|
8
|
+
@old_verbose = ActiveRecord::Migration.verbose
|
9
|
+
ActiveRecord::Migration.verbose = false
|
10
|
+
CreateClientsAndChangeColumnCollation.new.up
|
11
|
+
end
|
12
|
+
|
13
|
+
after do
|
14
|
+
CreateClientsAndChangeColumnCollation.new.down
|
15
|
+
ActiveRecord::Migration.verbose = @old_verbose
|
16
|
+
end
|
17
|
+
|
18
|
+
def find_column(table, name)
|
19
|
+
table.find { |column| column.name == name }
|
20
|
+
end
|
21
|
+
|
22
|
+
let(:clients_table) { connection.columns("clients") }
|
23
|
+
let(:name_column) { find_column(clients_table, "name") }
|
24
|
+
let(:code_column) { find_column(clients_table, "code") }
|
25
|
+
|
26
|
+
it "change column collation to other than default" do
|
27
|
+
_(name_column.collation).must_equal "SQL_Latin1_General_CP1_CS_AS"
|
28
|
+
end
|
29
|
+
|
30
|
+
it "change column collation to default" do
|
31
|
+
_(code_column.collation).must_equal "SQL_Latin1_General_CP1_CI_AS"
|
32
|
+
end
|
33
|
+
end
|