ruby_event_store-active_record 2.9.0 → 2.10
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/lib/ruby_event_store/active_record/event_repository_reader.rb +14 -8
- data/lib/ruby_event_store/active_record/generators/event_id_index_migration_generator.rb +47 -0
- data/lib/ruby_event_store/active_record/generators/migration_generator.rb +15 -6
- data/lib/ruby_event_store/active_record/generators/rails_event_id_index_migration_generator.rb +36 -0
- data/lib/ruby_event_store/active_record/generators/rails_migration_generator.rb +15 -3
- data/lib/ruby_event_store/active_record/generators/templates/add_event_id_index_to_event_store_events_in_streams_template.erb +9 -0
- data/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb +17 -48
- data/lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb +24 -0
- data/lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb +24 -0
- data/lib/ruby_event_store/active_record/generators/templates/template_directory.rb +16 -0
- data/lib/ruby_event_store/active_record/generators/verify_data_type_for_adapter.rb +45 -0
- data/lib/ruby_event_store/active_record/tasks/migration_tasks.rake +20 -5
- data/lib/ruby_event_store/active_record/version.rb +1 -1
- data/lib/ruby_event_store/active_record.rb +4 -0
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1625a6e2249c0ddac54baa8564bfece80a81b36a2e8cdd4fba198557b83e0ecf
|
4
|
+
data.tar.gz: 18ae89b42a29c0f562a6d93ce3c8264bf40f9d70ae975bd1a1a2124bc76b4ed1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ea84bed37d8183a5ee6ad111720c1c92bf36ced3651b8b72d02eb7d9c86c165133eaa22acac891d6e11403bada2e222e4f1e3ce1a0db061da50985456a0d0a0
|
7
|
+
data.tar.gz: a08404348cdbffef94a6f50968b67732b494d69e8f70f3adecbce84313dfe1b370debc870fcb147982cf6bf45d7f3c6ed6edf6bc16f6fac73fea03b6bbe96b52
|
@@ -114,11 +114,13 @@ module RubyEventStore
|
|
114
114
|
end
|
115
115
|
|
116
116
|
def as_of(spec)
|
117
|
-
|
117
|
+
expr = coalesce(@event_klass.arel_table[:valid_at], @event_klass.arel_table[:created_at])
|
118
|
+
spec.forward? ? expr.asc : expr.desc
|
118
119
|
end
|
119
120
|
|
120
121
|
def as_at(spec)
|
121
|
-
|
122
|
+
expr = @event_klass.arel_table[:created_at]
|
123
|
+
spec.forward? ? expr.asc : expr.desc
|
122
124
|
end
|
123
125
|
|
124
126
|
def start_offset_condition(specification, record_id, search_in)
|
@@ -163,28 +165,32 @@ module RubyEventStore
|
|
163
165
|
)
|
164
166
|
end
|
165
167
|
|
168
|
+
def coalesce(*exprs)
|
169
|
+
Arel::Nodes::NamedFunction.new "COALESCE", exprs
|
170
|
+
end
|
171
|
+
|
166
172
|
def time_comparison_field(specification)
|
167
173
|
if specification.time_sort_by_as_of?
|
168
|
-
|
174
|
+
coalesce(@event_klass.arel_table[:valid_at], @event_klass.arel_table[:created_at])
|
169
175
|
else
|
170
|
-
|
176
|
+
@event_klass.arel_table[:created_at]
|
171
177
|
end
|
172
178
|
end
|
173
179
|
|
174
180
|
def older_than_condition(specification)
|
175
|
-
|
181
|
+
time_comparison_field(specification).lt(specification.older_than)
|
176
182
|
end
|
177
183
|
|
178
184
|
def older_than_or_equal_condition(specification)
|
179
|
-
|
185
|
+
time_comparison_field(specification).lteq(specification.older_than_or_equal)
|
180
186
|
end
|
181
187
|
|
182
188
|
def newer_than_condition(specification)
|
183
|
-
|
189
|
+
time_comparison_field(specification).gt(specification.newer_than)
|
184
190
|
end
|
185
191
|
|
186
192
|
def newer_than_or_equal_condition(specification)
|
187
|
-
|
193
|
+
time_comparison_field(specification).gteq(specification.newer_than_or_equal)
|
188
194
|
end
|
189
195
|
|
190
196
|
def order(spec)
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyEventStore
|
4
|
+
module ActiveRecord
|
5
|
+
class EventIdIndexMigrationGenerator
|
6
|
+
def call(migration_path)
|
7
|
+
path = build_path(migration_path)
|
8
|
+
write_to_file(path)
|
9
|
+
path
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def absolute_path(path)
|
15
|
+
File.expand_path(path, __dir__)
|
16
|
+
end
|
17
|
+
|
18
|
+
def migration_code
|
19
|
+
migration_template.result_with_hash(migration_version: migration_version)
|
20
|
+
end
|
21
|
+
|
22
|
+
def migration_template
|
23
|
+
ERB.new(
|
24
|
+
File.read(
|
25
|
+
File.join(absolute_path("./templates"), "add_event_id_index_to_event_store_events_in_streams_template.erb")
|
26
|
+
)
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def migration_version
|
31
|
+
::ActiveRecord::Migration.current_version
|
32
|
+
end
|
33
|
+
|
34
|
+
def timestamp
|
35
|
+
Time.now.strftime("%Y%m%d%H%M%S")
|
36
|
+
end
|
37
|
+
|
38
|
+
def write_to_file(path)
|
39
|
+
File.write(path, migration_code)
|
40
|
+
end
|
41
|
+
|
42
|
+
def build_path(migration_path)
|
43
|
+
File.join("#{migration_path}", "#{timestamp}_add_event_id_index_to_event_store_events_in_streams.rb")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -6,10 +6,11 @@ module RubyEventStore
|
|
6
6
|
class MigrationGenerator
|
7
7
|
DATA_TYPES = %w[binary json jsonb].freeze
|
8
8
|
|
9
|
-
def call(data_type, migration_path)
|
9
|
+
def call(data_type, database_adapter, migration_path)
|
10
10
|
raise ArgumentError, "Invalid value for data type. Supported for options are: #{DATA_TYPES.join(", ")}." unless DATA_TYPES.include?(data_type)
|
11
|
+
VerifyDataTypeForAdapter.new.call(database_adapter, data_type)
|
11
12
|
|
12
|
-
migration_code = migration_code(data_type)
|
13
|
+
migration_code = migration_code(data_type, database_adapter)
|
13
14
|
path = build_path(migration_path)
|
14
15
|
write_to_file(migration_code, path)
|
15
16
|
path
|
@@ -21,8 +22,16 @@ module RubyEventStore
|
|
21
22
|
File.expand_path(path, __dir__)
|
22
23
|
end
|
23
24
|
|
24
|
-
def migration_code(data_type)
|
25
|
-
migration_template(
|
25
|
+
def migration_code(data_type, database_adapter)
|
26
|
+
migration_template(template_root(database_adapter), "create_event_store_events").result_with_hash(migration_version: migration_version, data_type: data_type)
|
27
|
+
end
|
28
|
+
|
29
|
+
def template_root(database_adapter)
|
30
|
+
absolute_path("./templates/#{template_directory(database_adapter)}")
|
31
|
+
end
|
32
|
+
|
33
|
+
def template_directory(database_adapter)
|
34
|
+
TemplateDirectory.for_adapter(database_adapter)
|
26
35
|
end
|
27
36
|
|
28
37
|
def migration_template(template_root, name)
|
@@ -30,7 +39,7 @@ module RubyEventStore
|
|
30
39
|
end
|
31
40
|
|
32
41
|
def migration_version
|
33
|
-
|
42
|
+
::ActiveRecord::Migration.current_version
|
34
43
|
end
|
35
44
|
|
36
45
|
def timestamp
|
@@ -42,7 +51,7 @@ module RubyEventStore
|
|
42
51
|
end
|
43
52
|
|
44
53
|
def build_path(migration_path)
|
45
|
-
File.join(
|
54
|
+
File.join("#{migration_path}", "#{timestamp}_create_event_store_events.rb")
|
46
55
|
end
|
47
56
|
end
|
48
57
|
end
|
data/lib/ruby_event_store/active_record/generators/rails_event_id_index_migration_generator.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "rails/generators"
|
5
|
+
rescue LoadError
|
6
|
+
end
|
7
|
+
|
8
|
+
if defined?(Rails::Generators::Base)
|
9
|
+
module RubyEventStore
|
10
|
+
module ActiveRecord
|
11
|
+
class RailsEventIdIndexMigrationGenerator < Rails::Generators::Base
|
12
|
+
class Error < Thor::Error
|
13
|
+
end
|
14
|
+
|
15
|
+
namespace "rails_event_store_active_record:migration_for_missing_event_id_index"
|
16
|
+
|
17
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), "../generators/templates"))
|
18
|
+
|
19
|
+
def create_migration
|
20
|
+
template "add_event_id_index_to_event_store_events_in_streams_template.erb",
|
21
|
+
"db/migrate/#{timestamp}_add_event_id_index_to_event_store_events_in_streams.rb"
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def migration_version
|
27
|
+
::ActiveRecord::Migration.current_version
|
28
|
+
end
|
29
|
+
|
30
|
+
def timestamp
|
31
|
+
Time.now.strftime("%Y%m%d%H%M%S")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -27,23 +27,35 @@ module RubyEventStore
|
|
27
27
|
def initialize(*args)
|
28
28
|
super
|
29
29
|
|
30
|
-
if DATA_TYPES.exclude?(
|
30
|
+
if DATA_TYPES.exclude?(data_type)
|
31
31
|
raise Error, "Invalid value for --data-type option. Supported for options are: #{DATA_TYPES.join(", ")}."
|
32
32
|
end
|
33
|
+
|
34
|
+
VerifyDataTypeForAdapter.new.call(adapter, data_type)
|
35
|
+
rescue InvalidDataTypeForAdapter, UnsupportedAdapter => e
|
36
|
+
raise Error, e.message
|
33
37
|
end
|
34
38
|
|
35
39
|
def create_migration
|
36
|
-
template "create_event_store_events_template.erb", "db/migrate/#{timestamp}_create_event_store_events.rb"
|
40
|
+
template "#{template_directory}create_event_store_events_template.erb", "db/migrate/#{timestamp}_create_event_store_events.rb"
|
37
41
|
end
|
38
42
|
|
39
43
|
private
|
40
44
|
|
45
|
+
def template_directory
|
46
|
+
TemplateDirectory.for_adapter(adapter)
|
47
|
+
end
|
48
|
+
|
41
49
|
def data_type
|
42
50
|
options.fetch("data_type")
|
43
51
|
end
|
44
52
|
|
53
|
+
def adapter
|
54
|
+
::ActiveRecord::Base.connection.adapter_name.downcase
|
55
|
+
end
|
56
|
+
|
45
57
|
def migration_version
|
46
|
-
|
58
|
+
::ActiveRecord::Migration.current_version
|
47
59
|
end
|
48
60
|
|
49
61
|
def timestamp
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddEventIdIndexToEventStoreEventsInStreams < ActiveRecord::Migration[<%= migration_version %>]
|
4
|
+
def change
|
5
|
+
return if index_exists?(:event_store_events_in_streams, :event_id)
|
6
|
+
|
7
|
+
add_index :event_store_events_in_streams, [:event_id]
|
8
|
+
end
|
9
|
+
end
|
data/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb
CHANGED
@@ -1,55 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class CreateEventStoreEvents < ActiveRecord::Migration<%= migration_version %>
|
3
|
+
class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>]
|
4
4
|
def change
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
add_index :event_store_events_in_streams, [:stream, :position], unique: true
|
15
|
-
add_index :event_store_events_in_streams, [:created_at]
|
16
|
-
add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
|
17
|
-
|
18
|
-
create_table(:event_store_events, id: :bigserial, force: false) do |t|
|
19
|
-
t.references :event, null: false, type: :uuid
|
20
|
-
t.string :event_type, null: false
|
21
|
-
t.<%= data_type %> :metadata
|
22
|
-
t.<%= data_type %> :data, null: false
|
23
|
-
t.datetime :created_at, null: false
|
24
|
-
t.datetime :valid_at, null: true
|
25
|
-
end
|
26
|
-
add_index :event_store_events, :event_id, unique: true
|
27
|
-
add_index :event_store_events, :created_at
|
28
|
-
add_index :event_store_events, :valid_at
|
29
|
-
add_index :event_store_events, :event_type
|
30
|
-
else
|
31
|
-
create_table(:event_store_events_in_streams, force: false) do |t|
|
32
|
-
t.string :stream, null: false
|
33
|
-
t.integer :position, null: true
|
34
|
-
t.references :event, null: false, type: :string, limit: 36
|
35
|
-
t.datetime :created_at, null: false, precision: 6
|
36
|
-
end
|
37
|
-
add_index :event_store_events_in_streams, [:stream, :position], unique: true
|
38
|
-
add_index :event_store_events_in_streams, [:created_at]
|
39
|
-
add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
|
5
|
+
create_table(:event_store_events_in_streams, force: false) do |t|
|
6
|
+
t.string :stream, null: false
|
7
|
+
t.integer :position, null: true
|
8
|
+
t.references :event, null: false, type: :string, limit: 36, index: false
|
9
|
+
t.datetime :created_at, null: false, precision: 6, index: true
|
10
|
+
end
|
11
|
+
add_index :event_store_events_in_streams, [:stream, :position], unique: true
|
12
|
+
add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
|
13
|
+
add_index :event_store_events_in_streams, [:event_id]
|
40
14
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
end
|
49
|
-
add_index :event_store_events, :event_id, unique: true
|
50
|
-
add_index :event_store_events, :created_at
|
51
|
-
add_index :event_store_events, :valid_at
|
52
|
-
add_index :event_store_events, :event_type
|
15
|
+
create_table(:event_store_events, force: false) do |t|
|
16
|
+
t.references :event, null: false, type: :string, limit: 36, index: { unique: true }
|
17
|
+
t.string :event_type, null: false, index: true
|
18
|
+
t.binary :metadata
|
19
|
+
t.binary :data, null: false
|
20
|
+
t.datetime :created_at, null: false, precision: 6, index: true
|
21
|
+
t.datetime :valid_at, null: true, precision: 6, index: true
|
53
22
|
end
|
54
23
|
end
|
55
24
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>]
|
4
|
+
def change
|
5
|
+
create_table(:event_store_events_in_streams, force: false) do |t|
|
6
|
+
t.string :stream, null: false
|
7
|
+
t.integer :position, null: true
|
8
|
+
t.references :event, null: false, type: :string, limit: 36, index: false
|
9
|
+
t.datetime :created_at, null: false, precision: 6, index: true
|
10
|
+
end
|
11
|
+
add_index :event_store_events_in_streams, [:stream, :position], unique: true
|
12
|
+
add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
|
13
|
+
add_index :event_store_events_in_streams, [:event_id]
|
14
|
+
|
15
|
+
create_table(:event_store_events, force: false) do |t|
|
16
|
+
t.references :event, null: false, type: :string, limit: 36, index: { unique: true }
|
17
|
+
t.string :event_type, null: false, index: true
|
18
|
+
t.<%= data_type %> :metadata
|
19
|
+
t.<%= data_type %> :data, null: false
|
20
|
+
t.datetime :created_at, null: false, precision: 6, index: true
|
21
|
+
t.datetime :valid_at, null: true, precision: 6, index: true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>]
|
4
|
+
def change
|
5
|
+
create_table(:event_store_events_in_streams, id: :bigserial, force: false) do |t|
|
6
|
+
t.string :stream, null: false
|
7
|
+
t.integer :position, null: true
|
8
|
+
t.references :event, null: false, type: :uuid, index: false
|
9
|
+
t.datetime :created_at, null: false, type: :timestamp, precision: 6, index: true
|
10
|
+
end
|
11
|
+
add_index :event_store_events_in_streams, [:stream, :position], unique: true
|
12
|
+
add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
|
13
|
+
add_index :event_store_events_in_streams, [:event_id]
|
14
|
+
|
15
|
+
create_table(:event_store_events, id: :bigserial, force: false) do |t|
|
16
|
+
t.references :event, null: false, type: :uuid, index: { unique: true }
|
17
|
+
t.string :event_type, null: false, index: true
|
18
|
+
t.<%= data_type %> :metadata
|
19
|
+
t.<%= data_type %> :data, null: false
|
20
|
+
t.datetime :created_at, null: false, type: :timestamp, precision: 6, index: true
|
21
|
+
t.datetime :valid_at, null: true, type: :timestamp, precision: 6, index: true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyEventStore
|
4
|
+
module ActiveRecord
|
5
|
+
class TemplateDirectory
|
6
|
+
def self.for_adapter(database_adapter)
|
7
|
+
case database_adapter.downcase
|
8
|
+
when "postgresql"
|
9
|
+
"postgres/"
|
10
|
+
when "mysql2"
|
11
|
+
"mysql/"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyEventStore
|
4
|
+
module ActiveRecord
|
5
|
+
InvalidDataTypeForAdapter = Class.new(StandardError)
|
6
|
+
UnsupportedAdapter = Class.new(StandardError)
|
7
|
+
|
8
|
+
class VerifyDataTypeForAdapter
|
9
|
+
SUPPORTED_POSTGRES_DATA_TYPES = %w[binary json jsonb].freeze
|
10
|
+
SUPPORTED_MYSQL_DATA_TYPES = %w[binary json].freeze
|
11
|
+
SUPPORTED_SQLITE_DATA_TYPES = %w[binary].freeze
|
12
|
+
|
13
|
+
def call(adapter, data_type)
|
14
|
+
raise UnsupportedAdapter, "Unsupported adapter" unless supported?(adapter)
|
15
|
+
raise InvalidDataTypeForAdapter, "MySQL2 doesn't support #{data_type}" if is_mysql2?(adapter) && !SUPPORTED_MYSQL_DATA_TYPES.include?(data_type)
|
16
|
+
raise InvalidDataTypeForAdapter, "sqlite doesn't support #{data_type}" if is_sqlite?(adapter) && supported_by_sqlite?(data_type)
|
17
|
+
raise InvalidDataTypeForAdapter, "PostgreSQL doesn't support #{data_type}" unless supported_by_postgres?(data_type)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
private_constant :SUPPORTED_POSTGRES_DATA_TYPES, :SUPPORTED_MYSQL_DATA_TYPES, :SUPPORTED_SQLITE_DATA_TYPES
|
23
|
+
|
24
|
+
def supported?(adapter)
|
25
|
+
%w[mysql2 postgresql sqlite].include?(adapter.downcase)
|
26
|
+
end
|
27
|
+
|
28
|
+
def is_sqlite?(adapter)
|
29
|
+
adapter.downcase.eql?("sqlite")
|
30
|
+
end
|
31
|
+
|
32
|
+
def is_mysql2?(adapter)
|
33
|
+
adapter.downcase.eql?("mysql2")
|
34
|
+
end
|
35
|
+
|
36
|
+
def supported_by_sqlite?(data_type)
|
37
|
+
!SUPPORTED_SQLITE_DATA_TYPES.include?(data_type)
|
38
|
+
end
|
39
|
+
|
40
|
+
def supported_by_postgres?(data_type)
|
41
|
+
SUPPORTED_POSTGRES_DATA_TYPES.include?(data_type)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -2,11 +2,26 @@ require_relative "../generators/migration_generator"
|
|
2
2
|
|
3
3
|
desc "Generate migration"
|
4
4
|
task "db:migrations:copy" do
|
5
|
-
data_type =
|
5
|
+
data_type =
|
6
|
+
ENV["DATA_TYPE"] || raise("Specify data type (binary, json, jsonb): rake db:migrations:copy DATA_TYPE=json")
|
7
|
+
::ActiveRecord::Base.establish_connection(ENV["DATABASE_URL"])
|
8
|
+
database_adapter = ::ActiveRecord::Base.connection.adapter_name
|
6
9
|
|
7
|
-
path =
|
8
|
-
|
9
|
-
|
10
|
+
path =
|
11
|
+
RubyEventStore::ActiveRecord::MigrationGenerator.new.call(
|
12
|
+
data_type,
|
13
|
+
database_adapter,
|
14
|
+
ENV["MIGRATION_PATH"] || "db/migrate"
|
15
|
+
)
|
10
16
|
|
11
17
|
puts "Migration file created #{path}"
|
12
|
-
end
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Generate migration for missing event_id index"
|
21
|
+
task "db:migrations:fix_missing_event_id_index" do
|
22
|
+
::ActiveRecord::Base.establish_connection(ENV["DATABASE_URL"])
|
23
|
+
|
24
|
+
path = RubyEventStore::ActiveRecord::EventIdIndexMigrationGenerator.new.call(ENV["MIGRATION_PATH"] || "db/migrate")
|
25
|
+
|
26
|
+
puts "Migration file created #{path}"
|
27
|
+
end
|
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
require_relative "active_record/generators/migration_generator"
|
4
4
|
require_relative "active_record/generators/rails_migration_generator"
|
5
|
+
require_relative "active_record/generators/templates/template_directory"
|
6
|
+
require_relative "active_record/generators/verify_data_type_for_adapter"
|
7
|
+
require_relative "active_record/generators/event_id_index_migration_generator"
|
8
|
+
require_relative "active_record/generators/rails_event_id_index_migration_generator"
|
5
9
|
require_relative "active_record/event"
|
6
10
|
require_relative "active_record/with_default_models"
|
7
11
|
require_relative "active_record/with_abstract_base_class"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_event_store-active_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: '2.10'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby_event_store
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: '2.10'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: '2.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activerecord
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,9 +57,16 @@ files:
|
|
57
57
|
- lib/ruby_event_store/active_record/event.rb
|
58
58
|
- lib/ruby_event_store/active_record/event_repository.rb
|
59
59
|
- lib/ruby_event_store/active_record/event_repository_reader.rb
|
60
|
+
- lib/ruby_event_store/active_record/generators/event_id_index_migration_generator.rb
|
60
61
|
- lib/ruby_event_store/active_record/generators/migration_generator.rb
|
62
|
+
- lib/ruby_event_store/active_record/generators/rails_event_id_index_migration_generator.rb
|
61
63
|
- lib/ruby_event_store/active_record/generators/rails_migration_generator.rb
|
64
|
+
- lib/ruby_event_store/active_record/generators/templates/add_event_id_index_to_event_store_events_in_streams_template.erb
|
62
65
|
- lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb
|
66
|
+
- lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb
|
67
|
+
- lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb
|
68
|
+
- lib/ruby_event_store/active_record/generators/templates/template_directory.rb
|
69
|
+
- lib/ruby_event_store/active_record/generators/verify_data_type_for_adapter.rb
|
63
70
|
- lib/ruby_event_store/active_record/index_violation_detector.rb
|
64
71
|
- lib/ruby_event_store/active_record/pg_linearized_event_repository.rb
|
65
72
|
- lib/ruby_event_store/active_record/railtie.rb
|
@@ -92,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
99
|
- !ruby/object:Gem::Version
|
93
100
|
version: '0'
|
94
101
|
requirements: []
|
95
|
-
rubygems_version: 3.
|
102
|
+
rubygems_version: 3.4.1
|
96
103
|
signing_key:
|
97
104
|
specification_version: 4
|
98
105
|
summary: Persistent event repository implementation for RubyEventStore based on ActiveRecord
|