rails_event_store_active_record 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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