rails_event_store_active_record 2.0.1 → 2.1.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.
data/Makefile DELETED
@@ -1,21 +0,0 @@
1
- GEM_VERSION = $(shell cat ../RES_VERSION)
2
- GEM_NAME = rails_event_store_active_record
3
- REQUIRE = $(GEM_NAME)
4
- IGNORE = RailsEventStoreActiveRecord::IndexViolationDetector\#initialize \
5
- RailsEventStoreActiveRecord::IndexViolationDetector\#detect \
6
- RailsEventStoreActiveRecord::IndexViolationDetector\#detect_mysql \
7
- RailsEventStoreActiveRecord::IndexViolationDetector\#detect_postgres \
8
- RailsEventStoreActiveRecord::PgLinearizedEventRepository* \
9
- RailsEventStoreActiveRecord::EventRepository\#update_messages \
10
- RailsEventStoreActiveRecord::WithAbstractBaseClass\#build_event_klass \
11
- RailsEventStoreActiveRecord::WithAbstractBaseClass\#build_stream_klass
12
-
13
- SUBJECT ?= RailsEventStoreActiveRecord*
14
- DATABASE_URL ?= sqlite3::memory:
15
-
16
- include ../support/make/install.mk
17
- include ../support/make/test.mk
18
- include ../support/make/mutant.mk
19
- include ../support/make/gem.mk
20
- include ../support/make/help.mk
21
-
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- require 'rails/generators'
5
- rescue LoadError
6
- end
7
-
8
- module RailsEventStoreActiveRecord
9
- class AddValidAtGenerator < Rails::Generators::Base
10
- source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
11
-
12
- def create_migration
13
- template "add_valid_at_template.rb", "db/migrate/#{timestamp}_add_valid_at.rb"
14
- end
15
-
16
- private
17
-
18
- def rails_version
19
- Rails::VERSION::STRING
20
- end
21
-
22
- def migration_version
23
- return nil if Gem::Version.new(rails_version) < Gem::Version.new("5.0.0")
24
- "[4.2]"
25
- end
26
-
27
- def timestamp
28
- Time.now.strftime("%Y%m%d%H%M%S")
29
- end
30
- end
31
- end if defined?(Rails::Generators::Base)
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- require 'rails/generators'
5
- rescue LoadError
6
- end
7
-
8
- module RailsEventStoreActiveRecord
9
- class CreatedAtPrecisionGenerator < Rails::Generators::Base
10
- source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
11
-
12
- def create_migration
13
- template "created_at_precision_template.rb", "db/migrate/#{timestamp}_created_at_precision.rb"
14
- end
15
-
16
- private
17
-
18
- def rails_version
19
- Rails::VERSION::STRING
20
- end
21
-
22
- def migration_version
23
- return nil if Gem::Version.new(rails_version) < Gem::Version.new("5.0.0")
24
- "[4.2]"
25
- end
26
-
27
- def timestamp
28
- Time.now.strftime("%Y%m%d%H%M%S")
29
- end
30
- end
31
- end if defined?(Rails::Generators::Base)
@@ -1,29 +0,0 @@
1
- begin
2
- require 'rails/generators'
3
- rescue LoadError
4
- end
5
-
6
- module RailsEventStoreActiveRecord
7
- class NoGlobalStreamEntriesGenerator < Rails::Generators::Base
8
- source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
9
-
10
- def create_migration
11
- template "no_global_stream_entries_template.rb", "db/migrate/#{timestamp}_no_global_stream_entries.rb"
12
- end
13
-
14
- private
15
-
16
- def rails_version
17
- Rails::VERSION::STRING
18
- end
19
-
20
- def migration_version
21
- return nil if Gem::Version.new(rails_version) < Gem::Version.new("5.0.0")
22
- "[4.2]"
23
- end
24
-
25
- def timestamp
26
- Time.now.strftime("%Y%m%d%H%M%S")
27
- end
28
- end
29
- end if defined?(Rails::Generators::Base)
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class AddValidAt < ActiveRecord::Migration<%= migration_version %>
4
- def change
5
- case ActiveRecord::Base.connection.adapter_name
6
- when "PostgreSQL"
7
- add_column :event_store_events, :valid_at, :datetime, null: true
8
- else
9
- add_column :event_store_events, :valid_at, :datetime, precision: 6, null: true
10
- end
11
-
12
- add_index :event_store_events, :valid_at
13
- end
14
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class CreatedAtPrecision < ActiveRecord::Migration<%= migration_version %>
4
- def change
5
- case ActiveRecord::Base.connection.adapter_name
6
- when "SQLite"
7
- rename_table :event_store_events, :old_event_store_events
8
- create_table(:event_store_events, id: false, force: false) do |t|
9
- t.string :id, limit: 36, primary_key: true, null: false
10
- t.string :event_type, null: false
11
- t.binary :metadata
12
- t.binary :data, null: false
13
- t.datetime :created_at, null: false, precision: 6
14
- end
15
- add_index :event_store_events, :created_at
16
- add_index :event_store_events, :event_type
17
- execute <<-SQL
18
- INSERT INTO event_store_events(id, event_type, metadata, data, created_at)
19
- SELECT id, event_type, metadata, data, created_at FROM old_event_store_events;
20
- SQL
21
- drop_table :old_event_store_events
22
-
23
- rename_table :event_store_events_in_streams, :old_event_store_events_in_streams
24
- create_table(:event_store_events_in_streams, force: false) do |t|
25
- t.string :stream, null: false
26
- t.integer :position, null: true
27
- t.references :event, null: false, type: :string, limit: 36
28
- t.datetime :created_at, null: false, precision: 6
29
- end
30
- add_index :event_store_events_in_streams, [:stream, :position], unique: true
31
- add_index :event_store_events_in_streams, [:created_at]
32
- add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
33
-
34
- execute <<-SQL
35
- INSERT INTO event_store_events_in_streams(id, stream, position, event_id, created_at)
36
- SELECT id, stream, position, event_id, created_at FROM old_event_store_events_in_streams;
37
- SQL
38
- drop_table :old_event_store_events_in_streams
39
- when "PostgreSQL"
40
- else
41
- change_column :event_store_events, :created_at, :datetime, precision: 6
42
- change_column :event_store_events_in_streams, :created_at, :datetime, precision: 6
43
- end
44
- end
45
- end
@@ -1,59 +0,0 @@
1
- class NoGlobalStreamEntries < ActiveRecord::Migration<%= migration_version %>
2
- def change
3
- case ActiveRecord::Base.connection.adapter_name
4
- when "SQLite"
5
- rename_table :event_store_events, :old_event_store_events
6
- create_table(:event_store_events, force: false) do |t|
7
- t.references :event, null: false, type: :string, limit: 36
8
- t.string :event_type, null: false
9
- t.binary :metadata
10
- t.binary :data, null: false
11
- t.datetime :created_at, precision: 6, null: false
12
- t.datetime :valid_at, precision: 6, null: true
13
- end
14
- add_index :event_store_events, :event_id, unique: true
15
- add_index :event_store_events, :created_at
16
- add_index :event_store_events, :valid_at
17
- add_index :event_store_events, :event_type
18
-
19
- execute <<-SQL
20
- INSERT INTO event_store_events(event_id, event_type, metadata, data, created_at)
21
- SELECT id, event_type, metadata, data, created_at FROM old_event_store_events;
22
- SQL
23
- drop_table :old_event_store_events
24
- when "PostgreSQL"
25
- rename_column :event_store_events, :id, :event_id
26
- change_column_default :event_store_events, :event_id, nil
27
- add_column :event_store_events, :id, :serial
28
-
29
- execute <<~SQL
30
- UPDATE event_store_events
31
- SET id = event_store_events_in_streams.id
32
- FROM event_store_events_in_streams
33
- WHERE event_store_events.event_id = event_store_events_in_streams.event_id AND event_store_events_in_streams.stream = 'all';
34
- UPDATE event_store_events
35
- SET id = ese.new_id
36
- FROM (SELECT id, row_number() OVER (ORDER BY id) AS new_id FROM event_store_events) ese
37
- WHERE event_store_events.id = ese.id;
38
- SELECT setval(pg_get_serial_sequence('event_store_events', 'id'), max(id)) FROM event_store_events;
39
- ALTER TABLE event_store_events DROP CONSTRAINT event_store_events_pkey;
40
- ALTER TABLE event_store_events ADD PRIMARY KEY (id);
41
- SQL
42
- add_index :event_store_events, :event_id, unique: true
43
- else
44
- rename_column :event_store_events, :id, :event_id
45
- add_column :event_store_events, :id, :integer
46
-
47
- execute <<-SQL
48
- UPDATE event_store_events
49
- INNER JOIN event_store_events_in_streams ON (event_store_events.event_id = event_store_events_in_streams.event_id)
50
- SET event_store_events.id = event_store_events_in_streams.id
51
- WHERE event_store_events_in_streams.stream = 'all';
52
- SQL
53
- execute "SET @row_number = 0"
54
- execute "UPDATE event_store_events SET event_store_events.id = (@row_number:=@row_number + 1) ORDER BY id"
55
- execute "ALTER TABLE event_store_events DROP PRIMARY KEY, ADD PRIMARY KEY (id), MODIFY id INT AUTO_INCREMENT"
56
- add_index :event_store_events, :event_id, unique: true
57
- end
58
- end
59
- end
@@ -1,30 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'rails_event_store_active_record/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'rails_event_store_active_record'
8
- spec.version = RailsEventStoreActiveRecord::VERSION
9
- spec.licenses = ['MIT']
10
- spec.authors = ['Arkency']
11
- spec.email = ['dev@arkency.com']
12
-
13
- spec.summary = %q{Active Record events repository for Rails Event Store}
14
- spec.description = %q{Implementation of events repository based on Rails Active Record for Rails Event Store}
15
- spec.homepage = 'https://railseventstore.org'
16
- spec.metadata = {
17
- "homepage_uri" => "https://railseventstore.org/",
18
- "changelog_uri" => "https://github.com/RailsEventStore/rails_event_store/releases",
19
- "source_code_uri" => "https://github.com/RailsEventStore/rails_event_store",
20
- "bug_tracker_uri" => "https://github.com/RailsEventStore/rails_event_store/issues",
21
- }
22
-
23
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- spec.require_paths = ['lib']
25
-
26
- spec.add_dependency 'ruby_event_store', '= 2.0.1'
27
- spec.add_dependency 'activesupport', '>= 3.0'
28
- spec.add_dependency 'activemodel', '>= 3.0'
29
- spec.add_dependency 'activerecord-import', '>= 1.0.2'
30
- end