activerecord-sqlserver-adapter 7.0.0.0.rc1 → 7.0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +2 -2
- data/VERSION +1 -1
- data/lib/active_record/connection_adapters/sqlserver/schema_creation.rb +11 -9
- data/test/cases/active_schema_test_sqlserver.rb +55 -0
- data/test/cases/schema_dumper_test_sqlserver.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da2be1cf7b3b5d8c8ad40cb1c79e037d5054cdf522e8e98b53fd22185af10a24
|
4
|
+
data.tar.gz: 9d1da7dc2e59761988098939f3254979df4862f26a7edcb617d7a35ff720155d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51b6f8a1d55f2e27dd0301ee9b65a2922c7120b20db3831a774c33acd3b736035f6a6238c26a3491c817ebe808ccd8719eabfd957766a2064c8368ad2c6cd2ee
|
7
|
+
data.tar.gz: dc7b43ee4d532e44f1106064d3757ea3dd636ecc0bc5cec64d58a5c4de3e4b6bf5ce4017ad9bf6ee8c5a4503627b345e2b83811b71318765f5c4072c5e327456
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## v7.0.0.0
|
2
|
+
|
3
|
+
[Full changelog](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/compare/v7.0.0.0.rc1...v7.0.0.0)
|
4
|
+
|
5
|
+
#### Fixed
|
6
|
+
|
7
|
+
- [#1002](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1002) Fix support for index types
|
8
|
+
|
9
|
+
#### Changed
|
10
|
+
|
11
|
+
- [#1004](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1004) Dump the precision for datetime columns following the new defaults.
|
12
|
+
|
1
13
|
## v7.0.0.0.rc1
|
2
14
|
|
3
15
|
[Full changelog](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/compare/6-1-stable...v7.0.0.0.rc1)
|
data/README.md
CHANGED
@@ -13,10 +13,10 @@ Interested in older versions? We follow a rational versioning policy that tracks
|
|
13
13
|
|
14
14
|
| Adapter Version | Rails Version | Support |
|
15
15
|
| --------------- | ------------- | ------------------------------------------------------------------------------------------- |
|
16
|
-
| `7.0.0.0
|
16
|
+
| `7.0.0.0` | `7.0.x` | [active](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/main) |
|
17
17
|
| `6.1.2.1` | `6.1.x` | [active](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/6-1-stable) |
|
18
18
|
| `6.0.2` | `6.0.x` | [active](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/6-0-stable) |
|
19
|
-
| `5.2.1` | `5.2.x` | [
|
19
|
+
| `5.2.1` | `5.2.x` | [ended](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/5-2-stable) |
|
20
20
|
| `5.1.6` | `5.1.x` | [ended](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/5-1-stable) |
|
21
21
|
| `4.2.18` | `4.2.x` | [ended](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/4-2-stable) |
|
22
22
|
| `4.1.8` | `4.1.x` | [ended](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/4-1-stable) |
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
7.0.0.0
|
1
|
+
7.0.0.0
|
@@ -34,17 +34,19 @@ module ActiveRecord
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def visit_CreateIndexDefinition(o)
|
37
|
-
|
38
|
-
|
39
|
-
o.if_not_exists = false
|
40
|
-
|
41
|
-
sql = super
|
37
|
+
index = o.index
|
42
38
|
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
sql = []
|
40
|
+
sql << "IF NOT EXISTS (SELECT name FROM sysindexes WHERE name = '#{o.index.name}')" if o.if_not_exists
|
41
|
+
sql << "CREATE"
|
42
|
+
sql << "UNIQUE" if index.unique
|
43
|
+
sql << index.type.upcase if index.type
|
44
|
+
sql << "INDEX"
|
45
|
+
sql << "#{quote_column_name(index.name)} ON #{quote_table_name(index.table)}"
|
46
|
+
sql << "(#{quoted_columns(index)})"
|
47
|
+
sql << "WHERE #{index.where}" if index.where
|
46
48
|
|
47
|
-
sql
|
49
|
+
sql.join(" ")
|
48
50
|
end
|
49
51
|
|
50
52
|
def add_column_options!(sql, options)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "cases/helper_sqlserver"
|
4
|
+
|
5
|
+
class ActiveSchemaTestSQLServer < ActiveRecord::TestCase
|
6
|
+
before do
|
7
|
+
connection.create_table :schema_test_table, force: true, id: false do |t|
|
8
|
+
t.column :foo, :string, limit: 100
|
9
|
+
t.column :state, :string
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
after do
|
14
|
+
connection.drop_table :schema_test_table rescue nil
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'default index' do
|
18
|
+
assert_sql('CREATE INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo])') do
|
19
|
+
connection.add_index :schema_test_table, "foo"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'unique index' do
|
24
|
+
assert_sql('CREATE UNIQUE INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo])') do
|
25
|
+
connection.add_index :schema_test_table, "foo", unique: true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'where condition on index' do
|
30
|
+
assert_sql("CREATE INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo]) WHERE state = 'active'") do
|
31
|
+
connection.add_index :schema_test_table, "foo", where: "state = 'active'"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'if index does not exist' do
|
36
|
+
assert_sql("IF NOT EXISTS (SELECT name FROM sysindexes WHERE name = 'index_schema_test_table_on_foo') " \
|
37
|
+
"CREATE INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo])") do
|
38
|
+
connection.add_index :schema_test_table, "foo", if_not_exists: true
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "index types" do
|
43
|
+
it 'clustered index' do
|
44
|
+
assert_sql('CREATE CLUSTERED INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo])') do
|
45
|
+
connection.add_index :schema_test_table, "foo", type: :clustered
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'nonclustered index' do
|
50
|
+
assert_sql('CREATE NONCLUSTERED INDEX [index_schema_test_table_on_foo] ON [schema_test_table] ([foo])') do
|
51
|
+
connection.add_index :schema_test_table, "foo", type: :nonclustered
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -79,7 +79,7 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
|
|
79
79
|
assert_line :float_col, type: "float", limit: nil, precision: nil, scale: nil, default: nil
|
80
80
|
assert_line :string_col, type: "string", limit: nil, precision: nil, scale: nil, default: nil
|
81
81
|
assert_line :text_col, type: "text", limit: nil, precision: nil, scale: nil, default: nil
|
82
|
-
assert_line :datetime_col, type: "datetime", limit: nil, precision:
|
82
|
+
assert_line :datetime_col, type: "datetime", limit: nil, precision: nil, scale: nil, default: nil
|
83
83
|
assert_line :timestamp_col, type: "datetime", limit: nil, precision: nil, scale: nil, default: nil
|
84
84
|
assert_line :time_col, type: "time", limit: nil, precision: 7, scale: nil, default: nil
|
85
85
|
assert_line :date_col, type: "date", limit: nil, precision: nil, scale: nil, default: nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-sqlserver-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.0.0
|
4
|
+
version: 7.0.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2022-
|
17
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: activerecord
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- test/bin/install-freetds.sh
|
143
143
|
- test/bin/install-openssl.sh
|
144
144
|
- test/bin/setup.sh
|
145
|
+
- test/cases/active_schema_test_sqlserver.rb
|
145
146
|
- test/cases/adapter_test_sqlserver.rb
|
146
147
|
- test/cases/change_column_collation_test_sqlserver.rb
|
147
148
|
- test/cases/change_column_null_test_sqlserver.rb
|
@@ -225,8 +226,8 @@ licenses:
|
|
225
226
|
- MIT
|
226
227
|
metadata:
|
227
228
|
bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
|
228
|
-
changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.0.0.0
|
229
|
-
source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.0.0.0
|
229
|
+
changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.0.0.0/CHANGELOG.md
|
230
|
+
source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.0.0.0
|
230
231
|
post_install_message:
|
231
232
|
rdoc_options: []
|
232
233
|
require_paths:
|
@@ -238,9 +239,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
238
239
|
version: 2.7.0
|
239
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
240
241
|
requirements:
|
241
|
-
- - "
|
242
|
+
- - ">="
|
242
243
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
244
|
+
version: '0'
|
244
245
|
requirements: []
|
245
246
|
rubygems_version: 3.2.22
|
246
247
|
signing_key:
|
@@ -252,6 +253,7 @@ test_files:
|
|
252
253
|
- test/bin/install-freetds.sh
|
253
254
|
- test/bin/install-openssl.sh
|
254
255
|
- test/bin/setup.sh
|
256
|
+
- test/cases/active_schema_test_sqlserver.rb
|
255
257
|
- test/cases/adapter_test_sqlserver.rb
|
256
258
|
- test/cases/change_column_collation_test_sqlserver.rb
|
257
259
|
- test/cases/change_column_null_test_sqlserver.rb
|