diff --git a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb index 33fa45e2bd..3fd2f1b0bf 100644 --- a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb +++ b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/create_event_store_events_template.erb @@ -14,12 +14,12 @@ class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>] create_table(:event_store_events_in_streams, force: false) do |t| t.string :stream, null: false t.integer :position, null: true - t.references :event, null: false, type: :string, limit: 36, index: false + t.references :event, null: false, type: :string, limit: 36, index: true t.datetime :created_at, null: false, precision: 6, index: true + + t.index [:stream, :position], unique: true + t.index [:stream, :event_id], unique: true end - add_index :event_store_events_in_streams, [:stream, :position], unique: true - add_index :event_store_events_in_streams, [:stream, :event_id], unique: true - add_index :event_store_events_in_streams, [:event_id] add_foreign_key "event_store_events_in_streams", "event_store_events", column: "event_id", primary_key: "event_id" end diff --git a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb index e7e8bf1a84..9bbe22d3e8 100644 --- a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb +++ b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/mysql/create_event_store_events_template.erb @@ -14,12 +14,12 @@ class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>] create_table(:event_store_events_in_streams, force: false) do |t| t.string :stream, null: false t.integer :position, null: true - t.references :event, null: false, type: :string, limit: 36, index: false + t.references :event, null: false, type: :string, limit: 36, index: true t.datetime :created_at, null: false, precision: 6, index: true + + t.index [:stream, :position], unique: true + t.index [:stream, :event_id], unique: true end - add_index :event_store_events_in_streams, [:stream, :position], unique: true - add_index :event_store_events_in_streams, [:stream, :event_id], unique: true - add_index :event_store_events_in_streams, [:event_id] add_foreign_key "event_store_events_in_streams", "event_store_events", column: "event_id", primary_key: "event_id" end diff --git a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb index 2c59644f00..ea3c3c8bd1 100644 --- a/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb +++ b/ruby_event_store-active_record/lib/ruby_event_store/active_record/generators/templates/postgres/create_event_store_events_template.erb @@ -14,12 +14,12 @@ class CreateEventStoreEvents < ActiveRecord::Migration[<%= migration_version %>] create_table(:event_store_events_in_streams, id: :bigserial, force: false) do |t| t.string :stream, null: false t.integer :position, null: true - t.references :event, null: false, type: :uuid, index: false + t.references :event, null: false, type: :uuid, index: true t.datetime :created_at, null: false, type: :timestamp, precision: 6, index: true + + t.index [:stream, :position], unique: true + t.index [:stream, :event_id], unique: true end - add_index :event_store_events_in_streams, [:stream, :position], unique: true - add_index :event_store_events_in_streams, [:stream, :event_id], unique: true - add_index :event_store_events_in_streams, [:event_id] add_foreign_key "event_store_events_in_streams", "event_store_events", column: "event_id", primary_key: "event_id" end diff --git a/ruby_event_store-active_record/spec/migration_test_spec.rb b/ruby_event_store-active_record/spec/migration_test_spec.rb index ba28ce1810..5f61855cb8 100644 --- a/ruby_event_store-active_record/spec/migration_test_spec.rb +++ b/ruby_event_store-active_record/spec/migration_test_spec.rb @@ -111,8 +111,8 @@ module ActiveRecord PRIMARY KEY (`id`), UNIQUE KEY `index_event_store_events_in_streams_on_stream_and_event_id` (`stream`,`event_id`), UNIQUE KEY `index_event_store_events_in_streams_on_stream_and_position` (`stream`,`position`), - KEY `index_event_store_events_in_streams_on_created_at` (`created_at`), KEY `index_event_store_events_in_streams_on_event_id` (`event_id`), + KEY `index_event_store_events_in_streams_on_created_at` (`created_at`), CONSTRAINT `fk_rails_c8d52b5857` FOREIGN KEY (`event_id`) REFERENCES `event_store_events` (`event_id`) ) ENGINE=InnoDB DEFAULT CHARSET=#{charset}#{collation} SCHEMA @@ -136,10 +136,10 @@ module ActiveRecord FOREIGN KEY ("event_id") REFERENCES "event_store_events" ("event_id") ) + CREATE INDEX "index_event_store_events_in_streams_on_event_id" ON "event_store_events_in_streams" ("event_id") CREATE INDEX "index_event_store_events_in_streams_on_created_at" ON "event_store_events_in_streams" ("created_at") CREATE UNIQUE INDEX "index_event_store_events_in_streams_on_stream_and_position" ON "event_store_events_in_streams" ("stream", "position") CREATE UNIQUE INDEX "index_event_store_events_in_streams_on_stream_and_event_id" ON "event_store_events_in_streams" ("stream", "event_id") - CREATE INDEX "index_event_store_events_in_streams_on_event_id" ON "event_store_events_in_streams" ("event_id") SCHEMA end