Module: Sequent

Defined in:
lib/sequent/migrations/migrate_events.rb,
lib/version.rb,
lib/sequent/sequent.rb,
lib/sequent/core/event.rb,
lib/sequent/rake/tasks.rb,
lib/sequent/core/command.rb,
lib/sequent/configuration.rb,
lib/sequent/core/workflow.rb,
lib/sequent/core/sequent_oj.rb,
lib/sequent/core/event_store.rb,
lib/sequent/support/database.rb,
lib/sequent/core/event_record.rb,
lib/sequent/core/value_object.rb,
lib/sequent/core/stream_record.rb,
lib/sequent/core/aggregate_root.rb,
lib/sequent/core/command_record.rb,
lib/sequent/support/view_schema.rb,
lib/sequent/core/command_service.rb,
lib/sequent/core/event_publisher.rb,
lib/sequent/test/time_comparison.rb,
lib/sequent/core/helpers/copyable.rb,
lib/sequent/core/helpers/mergable.rb,
lib/sequent/migrations/migrations.rb,
lib/sequent/core/base_event_handler.rb,
lib/sequent/support/view_projection.rb,
lib/sequent/core/helpers/uuid_helper.rb,
lib/sequent/core/aggregate_repository.rb,
lib/sequent/core/base_command_handler.rb,
lib/sequent/core/helpers/self_applier.rb,
lib/sequent/test/event_stream_helpers.rb,
lib/sequent/core/aggregate_snapshotter.rb,
lib/sequent/core/helpers/equal_support.rb,
lib/sequent/core/helpers/param_support.rb,
lib/sequent/core/random_uuid_generator.rb,
lib/sequent/test/event_handler_helpers.rb,
lib/sequent/core/helpers/date_validator.rb,
lib/sequent/core/helpers/string_support.rb,
lib/sequent/core/helpers/array_with_type.rb,
lib/sequent/test/command_handler_helpers.rb,
lib/sequent/core/helpers/value_validators.rb,
lib/sequent/core/helpers/attribute_support.rb,
lib/sequent/core/helpers/default_validators.rb,
lib/sequent/util/skip_if_already_processing.rb,
lib/sequent/core/helpers/date_time_validator.rb,
lib/sequent/core/transactions/no_transactions.rb,
lib/sequent/core/helpers/association_validator.rb,
lib/sequent/core/helpers/string_to_value_parsers.rb,
lib/sequent/core/helpers/type_conversion_support.rb,
lib/sequent/core/record_sessions/active_record_session.rb,
lib/sequent/core/record_sessions/replay_events_session.rb,
lib/sequent/core/transactions/active_record_transaction_provider.rb

Overview

When you need to upgrade the event store based on information of the previous schema version this is the place you need to implement a migration. Examples are: corrupt events (due to insufficient testing for instance…) or adding extra events to the event stream if a new concept is introduced.

To implement a migration you should create a class according to the following contract: module Database

class MigrateToVersionXXX
  def initialize(env)
    @env = env
  end

  def migrate
    # your migration code here...
  end
end

end

Defined Under Namespace

Modules: Core, Migrations, Rake, Support, Test, Util Classes: Configuration

Constant Summary collapse

VERSION =
'2.0.0'

Class Method Summary collapse

Class Method Details

.command_serviceObject

Short hand for Sequent.configuration.command_service



30
31
32
# File 'lib/sequent/sequent.rb', line 30

def self.command_service
  configuration.command_service
end

.configurationObject



25
26
27
# File 'lib/sequent/sequent.rb', line 25

def self.configuration
  Configuration.instance
end

.configure {|Configuration.instance| ... } ⇒ Object

Yields:



21
22
23
# File 'lib/sequent/sequent.rb', line 21

def self.configure
  yield Configuration.instance
end

.loggerObject



13
14
15
# File 'lib/sequent/sequent.rb', line 13

def self.logger
  @logger ||= Logger.new(STDOUT).tap {|l| l.level = Logger::INFO }
end

.logger=(logger) ⇒ Object



17
18
19
# File 'lib/sequent/sequent.rb', line 17

def self.logger=(logger)
  @logger = logger
end

.new_uuidObject



9
10
11
# File 'lib/sequent/sequent.rb', line 9

def self.new_uuid
  Sequent.configuration.uuid_generator.uuid
end