rom-sql 3.0.1 → 3.3.2
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 +428 -297
- data/LICENSE +20 -0
- data/README.md +14 -56
- data/lib/rom-sql.rb +2 -0
- data/lib/rom/plugins/relation/sql/auto_restrictions.rb +2 -0
- data/lib/rom/plugins/relation/sql/instrumentation.rb +2 -0
- data/lib/rom/plugins/relation/sql/postgres/explain.rb +6 -7
- data/lib/rom/plugins/relation/sql/postgres/full_text_search.rb +53 -0
- data/lib/rom/plugins/relation/sql/postgres/streaming.rb +97 -0
- data/lib/rom/sql.rb +2 -0
- data/lib/rom/sql/associations.rb +2 -0
- data/lib/rom/sql/associations/core.rb +10 -0
- data/lib/rom/sql/associations/many_to_many.rb +3 -1
- data/lib/rom/sql/associations/many_to_one.rb +2 -0
- data/lib/rom/sql/associations/one_to_many.rb +2 -0
- data/lib/rom/sql/associations/one_to_one.rb +2 -0
- data/lib/rom/sql/associations/one_to_one_through.rb +2 -0
- data/lib/rom/sql/associations/self_ref.rb +2 -0
- data/lib/rom/sql/attribute.rb +31 -22
- data/lib/rom/sql/attribute_aliasing.rb +88 -0
- data/lib/rom/sql/attribute_wrapping.rb +30 -0
- data/lib/rom/sql/commands.rb +2 -0
- data/lib/rom/sql/commands/create.rb +2 -0
- data/lib/rom/sql/commands/delete.rb +2 -0
- data/lib/rom/sql/commands/error_wrapper.rb +2 -0
- data/lib/rom/sql/commands/update.rb +2 -0
- data/lib/rom/sql/dsl.rb +11 -3
- data/lib/rom/sql/error.rb +2 -0
- data/lib/rom/sql/errors.rb +2 -0
- data/lib/rom/sql/extensions.rb +2 -0
- data/lib/rom/sql/extensions/active_support_notifications.rb +2 -0
- data/lib/rom/sql/extensions/mysql.rb +2 -0
- data/lib/rom/sql/extensions/mysql/type_builder.rb +2 -0
- data/lib/rom/sql/extensions/postgres.rb +3 -0
- data/lib/rom/sql/extensions/postgres/commands.rb +3 -1
- data/lib/rom/sql/extensions/postgres/type_builder.rb +6 -4
- data/lib/rom/sql/extensions/postgres/type_serializer.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/array.rb +7 -6
- data/lib/rom/sql/extensions/postgres/types/array_types.rb +3 -1
- data/lib/rom/sql/extensions/postgres/types/geometric.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/json.rb +76 -19
- data/lib/rom/sql/extensions/postgres/types/ltree.rb +25 -23
- data/lib/rom/sql/extensions/postgres/types/network.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/range.rb +2 -0
- data/lib/rom/sql/extensions/rails_log_subscriber.rb +2 -0
- data/lib/rom/sql/extensions/sqlite.rb +2 -0
- data/lib/rom/sql/extensions/sqlite/type_builder.rb +2 -0
- data/lib/rom/sql/extensions/sqlite/types.rb +2 -0
- data/lib/rom/sql/foreign_key.rb +3 -1
- data/lib/rom/sql/function.rb +38 -6
- data/lib/rom/sql/gateway.rb +9 -1
- data/lib/rom/sql/group_dsl.rb +2 -0
- data/lib/rom/sql/index.rb +2 -0
- data/lib/rom/sql/join_dsl.rb +2 -0
- data/lib/rom/sql/mapper_compiler.rb +12 -1
- data/lib/rom/sql/migration.rb +5 -3
- data/lib/rom/sql/migration/inline_runner.rb +2 -0
- data/lib/rom/sql/migration/migrator.rb +4 -2
- data/lib/rom/sql/migration/recorder.rb +2 -0
- data/lib/rom/sql/migration/runner.rb +4 -2
- data/lib/rom/sql/migration/schema_diff.rb +2 -0
- data/lib/rom/sql/migration/template.rb +2 -0
- data/lib/rom/sql/migration/writer.rb +12 -4
- data/lib/rom/sql/order_dsl.rb +2 -0
- data/lib/rom/sql/plugin/associates.rb +4 -2
- data/lib/rom/sql/plugin/nullify.rb +37 -0
- data/lib/rom/sql/plugin/pagination.rb +2 -0
- data/lib/rom/sql/plugins.rb +4 -0
- data/lib/rom/sql/projection_dsl.rb +3 -1
- data/lib/rom/sql/rake_task.rb +2 -0
- data/lib/rom/sql/relation.rb +3 -1
- data/lib/rom/sql/relation/reading.rb +32 -6
- data/lib/rom/sql/relation/writing.rb +2 -0
- data/lib/rom/sql/restriction_dsl.rb +9 -1
- data/lib/rom/sql/schema.rb +16 -2
- data/lib/rom/sql/schema/attributes_inferrer.rb +5 -3
- data/lib/rom/sql/schema/dsl.rb +3 -1
- data/lib/rom/sql/schema/index_dsl.rb +5 -2
- data/lib/rom/sql/schema/inferrer.rb +12 -8
- data/lib/rom/sql/schema/type_builder.rb +4 -2
- data/lib/rom/sql/spec/support.rb +5 -3
- data/lib/rom/sql/tasks/migration_tasks.rake +16 -11
- data/lib/rom/sql/transaction.rb +2 -0
- data/lib/rom/sql/type_dsl.rb +2 -0
- data/lib/rom/sql/type_extensions.rb +4 -4
- data/lib/rom/sql/type_serializer.rb +2 -0
- data/lib/rom/sql/types.rb +2 -0
- data/lib/rom/sql/version.rb +3 -1
- data/lib/rom/sql/wrap.rb +2 -0
- data/lib/rom/types/values.rb +2 -0
- metadata +34 -32
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'pathname'
|
|
4
|
+
require 'fileutils'
|
|
3
5
|
|
|
4
6
|
module ROM
|
|
5
7
|
module SQL
|
|
@@ -27,7 +29,10 @@ module ROM
|
|
|
27
29
|
def gateway
|
|
28
30
|
if env.nil?
|
|
29
31
|
Gateway.instance ||
|
|
30
|
-
raise(
|
|
32
|
+
raise(
|
|
33
|
+
MissingEnv,
|
|
34
|
+
'Set up a configuration with ROM::SQL::RakeSupport.env= in the db:setup task'
|
|
35
|
+
)
|
|
31
36
|
else
|
|
32
37
|
env.gateways[:default]
|
|
33
38
|
end
|
|
@@ -41,36 +46,36 @@ end
|
|
|
41
46
|
|
|
42
47
|
namespace :db do
|
|
43
48
|
task :rom_configuration do
|
|
44
|
-
Rake::Task[
|
|
49
|
+
Rake::Task['db:setup'].invoke
|
|
45
50
|
end
|
|
46
51
|
|
|
47
|
-
desc
|
|
52
|
+
desc 'Perform migration reset (full erase and migration up)'
|
|
48
53
|
task reset: :rom_configuration do
|
|
49
54
|
ROM::SQL::RakeSupport.run_migrations(target: 0)
|
|
50
55
|
ROM::SQL::RakeSupport.run_migrations
|
|
51
|
-
puts
|
|
56
|
+
puts '<= db:reset executed'
|
|
52
57
|
end
|
|
53
58
|
|
|
54
|
-
desc
|
|
59
|
+
desc 'Migrate the database (options [version_number])]'
|
|
55
60
|
task :migrate, [:version] => :rom_configuration do |_, args|
|
|
56
61
|
version = args[:version]
|
|
57
62
|
|
|
58
63
|
if version.nil?
|
|
59
64
|
ROM::SQL::RakeSupport.run_migrations
|
|
60
|
-
puts
|
|
65
|
+
puts '<= db:migrate executed'
|
|
61
66
|
else
|
|
62
67
|
ROM::SQL::RakeSupport.run_migrations(target: version.to_i)
|
|
63
68
|
puts "<= db:migrate version=[#{version}] executed"
|
|
64
69
|
end
|
|
65
70
|
end
|
|
66
71
|
|
|
67
|
-
desc
|
|
72
|
+
desc 'Perform migration down (removes all tables)'
|
|
68
73
|
task clean: :rom_configuration do
|
|
69
74
|
ROM::SQL::RakeSupport.run_migrations(target: 0)
|
|
70
|
-
puts
|
|
75
|
+
puts '<= db:clean executed'
|
|
71
76
|
end
|
|
72
77
|
|
|
73
|
-
desc
|
|
78
|
+
desc 'Create a migration (parameters: NAME, VERSION)'
|
|
74
79
|
task :create_migration, [:name, :version] => :rom_configuration do |_, args|
|
|
75
80
|
name, version = args.values_at(:name, :version)
|
|
76
81
|
|
data/lib/rom/sql/transaction.rb
CHANGED
data/lib/rom/sql/type_dsl.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module ROM
|
|
2
4
|
module SQL
|
|
3
5
|
# Type-specific methods
|
|
@@ -7,14 +9,12 @@ module ROM
|
|
|
7
9
|
class << self
|
|
8
10
|
# Gets extensions for a type
|
|
9
11
|
#
|
|
10
|
-
# @param [Dry::Types::Type] wrapped
|
|
12
|
+
# @param type [Dry::Types::Type] wrapped
|
|
11
13
|
#
|
|
12
14
|
# @return [Hash]
|
|
13
15
|
#
|
|
14
16
|
# @api public
|
|
15
|
-
def [](
|
|
16
|
-
type = wrapped.default? ? wrapped.type : wrapped
|
|
17
|
-
type = type.optional? ? type.right : type
|
|
17
|
+
def [](type)
|
|
18
18
|
@types[type.meta[:database]][type.meta[:db_type]] || EMPTY_HASH
|
|
19
19
|
end
|
|
20
20
|
|
data/lib/rom/sql/types.rb
CHANGED
data/lib/rom/sql/version.rb
CHANGED
data/lib/rom/sql/wrap.rb
CHANGED
data/lib/rom/types/values.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rom-sql
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Piotr Solnica
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sequel
|
|
@@ -24,20 +24,6 @@ dependencies:
|
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '4.49'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: dry-equalizer
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.2'
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.2'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: dry-types
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -58,34 +44,40 @@ dependencies:
|
|
|
58
44
|
requirements:
|
|
59
45
|
- - "~>"
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0.
|
|
47
|
+
version: '0.5'
|
|
48
|
+
- - ">="
|
|
49
|
+
- !ruby/object:Gem::Version
|
|
50
|
+
version: '0.5'
|
|
62
51
|
type: :runtime
|
|
63
52
|
prerelease: false
|
|
64
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
54
|
requirements:
|
|
66
55
|
- - "~>"
|
|
67
56
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0.
|
|
57
|
+
version: '0.5'
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0.5'
|
|
69
61
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rom
|
|
62
|
+
name: rom
|
|
71
63
|
requirement: !ruby/object:Gem::Requirement
|
|
72
64
|
requirements:
|
|
73
65
|
- - "~>"
|
|
74
66
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '5.
|
|
67
|
+
version: '5.2'
|
|
76
68
|
- - ">="
|
|
77
69
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: 5.
|
|
70
|
+
version: 5.2.1
|
|
79
71
|
type: :runtime
|
|
80
72
|
prerelease: false
|
|
81
73
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
74
|
requirements:
|
|
83
75
|
- - "~>"
|
|
84
76
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '5.
|
|
77
|
+
version: '5.2'
|
|
86
78
|
- - ">="
|
|
87
79
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: 5.
|
|
80
|
+
version: 5.2.1
|
|
89
81
|
- !ruby/object:Gem::Dependency
|
|
90
82
|
name: bundler
|
|
91
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,28 +98,28 @@ dependencies:
|
|
|
106
98
|
requirements:
|
|
107
99
|
- - "~>"
|
|
108
100
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '
|
|
101
|
+
version: '13.0'
|
|
110
102
|
type: :development
|
|
111
103
|
prerelease: false
|
|
112
104
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
105
|
requirements:
|
|
114
106
|
- - "~>"
|
|
115
107
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
108
|
+
version: '13.0'
|
|
117
109
|
- !ruby/object:Gem::Dependency
|
|
118
110
|
name: rspec
|
|
119
111
|
requirement: !ruby/object:Gem::Requirement
|
|
120
112
|
requirements:
|
|
121
113
|
- - "~>"
|
|
122
114
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '3.
|
|
115
|
+
version: '3.9'
|
|
124
116
|
type: :development
|
|
125
117
|
prerelease: false
|
|
126
118
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
119
|
requirements:
|
|
128
120
|
- - "~>"
|
|
129
121
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '3.
|
|
122
|
+
version: '3.9'
|
|
131
123
|
description: SQL databases support for ROM
|
|
132
124
|
email:
|
|
133
125
|
- piotr.solnica@gmail.com
|
|
@@ -136,11 +128,14 @@ extensions: []
|
|
|
136
128
|
extra_rdoc_files: []
|
|
137
129
|
files:
|
|
138
130
|
- CHANGELOG.md
|
|
131
|
+
- LICENSE
|
|
139
132
|
- README.md
|
|
140
133
|
- lib/rom-sql.rb
|
|
141
134
|
- lib/rom/plugins/relation/sql/auto_restrictions.rb
|
|
142
135
|
- lib/rom/plugins/relation/sql/instrumentation.rb
|
|
143
136
|
- lib/rom/plugins/relation/sql/postgres/explain.rb
|
|
137
|
+
- lib/rom/plugins/relation/sql/postgres/full_text_search.rb
|
|
138
|
+
- lib/rom/plugins/relation/sql/postgres/streaming.rb
|
|
144
139
|
- lib/rom/sql.rb
|
|
145
140
|
- lib/rom/sql/associations.rb
|
|
146
141
|
- lib/rom/sql/associations/core.rb
|
|
@@ -151,6 +146,8 @@ files:
|
|
|
151
146
|
- lib/rom/sql/associations/one_to_one_through.rb
|
|
152
147
|
- lib/rom/sql/associations/self_ref.rb
|
|
153
148
|
- lib/rom/sql/attribute.rb
|
|
149
|
+
- lib/rom/sql/attribute_aliasing.rb
|
|
150
|
+
- lib/rom/sql/attribute_wrapping.rb
|
|
154
151
|
- lib/rom/sql/commands.rb
|
|
155
152
|
- lib/rom/sql/commands/create.rb
|
|
156
153
|
- lib/rom/sql/commands/delete.rb
|
|
@@ -196,6 +193,7 @@ files:
|
|
|
196
193
|
- lib/rom/sql/migration/writer.rb
|
|
197
194
|
- lib/rom/sql/order_dsl.rb
|
|
198
195
|
- lib/rom/sql/plugin/associates.rb
|
|
196
|
+
- lib/rom/sql/plugin/nullify.rb
|
|
199
197
|
- lib/rom/sql/plugin/pagination.rb
|
|
200
198
|
- lib/rom/sql/plugins.rb
|
|
201
199
|
- lib/rom/sql/projection_dsl.rb
|
|
@@ -223,8 +221,12 @@ files:
|
|
|
223
221
|
homepage: http://rom-rb.org
|
|
224
222
|
licenses:
|
|
225
223
|
- MIT
|
|
226
|
-
metadata:
|
|
227
|
-
|
|
224
|
+
metadata:
|
|
225
|
+
source_code_uri: https://github.com/rom-rb/rom-sql
|
|
226
|
+
documentation_uri: https://api.rom-rb.org/rom-sql/
|
|
227
|
+
mailing_list_uri: https://discourse.rom-rb.org/
|
|
228
|
+
bug_tracker_uri: https://github.com/rom-rb/rom-sql/issues
|
|
229
|
+
post_install_message:
|
|
228
230
|
rdoc_options: []
|
|
229
231
|
require_paths:
|
|
230
232
|
- lib
|
|
@@ -239,8 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
239
241
|
- !ruby/object:Gem::Version
|
|
240
242
|
version: '0'
|
|
241
243
|
requirements: []
|
|
242
|
-
rubygems_version: 3.
|
|
243
|
-
signing_key:
|
|
244
|
+
rubygems_version: 3.2.3
|
|
245
|
+
signing_key:
|
|
244
246
|
specification_version: 4
|
|
245
247
|
summary: SQL databases support for ROM
|
|
246
248
|
test_files: []
|