Fact.Genesis.Event.DatabaseCreated.V1 (Fact v0.2.0)
View SourceEvent representing the creation of a new Fact database.
This event is emitted by the Fact.Genesis.Decider when a valid
Fact.Genesis.Command.CreateDatabase.V1 command has been processed.
It records all the configuration needed to bring a new database into existence
as a fact, but it does not itself create the database on disk.
This event stores the database identity, system compatibility information (Elixir, Erlang/OTP, OS versions), event adapters, file and index configurations, ledger and lock file details, record handling, and storage configuration.
The Fact.Bootstrapper uses to_context/1 to convert this event into a
Fact.Context suitable for starting a new database instance via the supervision tree.
Summary
Types
@type component_config() :: %{ family: :atom, version: :positive_integer, options: map() }
@type t() :: %Fact.Genesis.Event.DatabaseCreated.V1{ database_id: Fact.database_id(), database_name: String.t(), elixir_version: String.t(), erts_version: String.t(), event_id: component_config(), event_schema: component_config(), fact_version: String.t(), index_checkpoint_file_decoder: component_config(), index_checkpoint_file_encoder: component_config(), index_checkpoint_file_name: component_config(), index_checkpoint_file_reader: component_config(), index_checkpoint_file_writer: component_config(), index_file_decoder: component_config(), index_file_encoder: component_config(), index_file_name: component_config(), index_file_reader: component_config(), index_file_writer: component_config(), ledger_file_decoder: component_config(), ledger_file_encoder: component_config(), ledger_file_name: component_config(), ledger_file_reader: component_config(), ledger_file_writer: component_config(), lock_file_decoder: component_config(), lock_file_encoder: component_config(), lock_file_name: component_config(), lock_file_reader: component_config(), lock_file_writer: component_config(), os_version: String.t(), otp_version: String.t(), record_file_decoder: component_config(), record_file_encoder: component_config(), record_file_name: component_config(), record_file_reader: component_config(), record_file_writer: component_config(), storage: component_config() }