<%= config %>::Container.boot :persistence, namespace: true do |system|
init do require "sequel" require "rom" require "rom/sql" use :monitor, :settings ROM::SQL.load_extensions :postgres Sequel.database_timezone = :utc Sequel.application_timezone = :local rom_config = ROM::Configuration.new( :sql, system[:settings].database_url, extensions: %i[error_sql pg_array pg_json], ) rom_config.plugin :sql, relations: :instrumentation do |plugin_config| plugin_config.notifications = notifications end rom_config.plugin :sql, relations: :auto_restrictions register "config", rom_config register "db", rom_config.gateways[:default].connection end start do config = container["persistence.config"] config.auto_registration system.root.join("lib/persistence") register "rom", ROM.container(config) end
end