activerecord-sqlserver-adapter 7.0.0.0.rc1 → 7.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|