Expand description
Shared database utilities for Aster services.
This crate contains framework-neutral SeaORM helpers: connection setup, retry policy, offset pagination, full-text search query helpers, whitelisted sorting, and transaction wrappers. Product migrations, entities, and repository-specific query logic intentionally remain outside this crate.
Re-exports§
pub use audit_log::AUDIT_LOG_ACTION_COLUMN;pub use audit_log::AUDIT_LOG_ACTION_CREATED_ID_INDEX;pub use audit_log::AUDIT_LOG_ACTION_CREATED_USER_INDEX;pub use audit_log::AUDIT_LOG_ACTION_INDEX;pub use audit_log::AUDIT_LOG_CREATED_AT_COLUMN;pub use audit_log::AUDIT_LOG_CREATED_AT_INDEX;pub use audit_log::AUDIT_LOG_CREATED_ID_INDEX;pub use audit_log::AUDIT_LOG_DETAILS_COLUMN;pub use audit_log::AUDIT_LOG_ENTITY_ID_COLUMN;pub use audit_log::AUDIT_LOG_ENTITY_NAME_COLUMN;pub use audit_log::AUDIT_LOG_ENTITY_TYPE_COLUMN;pub use audit_log::AUDIT_LOG_ENTITY_TYPE_CREATED_ID_INDEX;pub use audit_log::AUDIT_LOG_ID_COLUMN;pub use audit_log::AUDIT_LOG_IP_ADDRESS_COLUMN;pub use audit_log::AUDIT_LOG_USER_AGENT_COLUMN;pub use audit_log::AUDIT_LOG_USER_CREATED_ID_INDEX;pub use audit_log::AUDIT_LOG_USER_ID_COLUMN;pub use audit_log::AUDIT_LOG_USER_ID_INDEX;pub use audit_log::AUDIT_LOGS_TABLE;pub use audit_log::AuditLogCreate;pub use audit_log::AuditLogCursorSlice;pub use audit_log::AuditLogDbStore;pub use audit_log::AuditLogQuery;pub use audit_log::count_audit_logs_created_between;pub use audit_log::count_audit_logs_created_between_with_actions;pub use audit_log::count_distinct_audit_log_users_created_between_with_actions;pub use audit_log::create_audit_log_requests;pub use audit_log::create_audit_log_row;pub use audit_log::create_audit_log_rows;pub use audit_log::create_audit_logs_action_created_id_index;pub use audit_log::create_audit_logs_action_created_user_index;pub use audit_log::create_audit_logs_action_index;pub use audit_log::create_audit_logs_base_indexes;pub use audit_log::create_audit_logs_created_at_index;pub use audit_log::create_audit_logs_created_id_index;pub use audit_log::create_audit_logs_entity_type_created_id_index;pub use audit_log::create_audit_logs_query_indexes;pub use audit_log::create_audit_logs_table;pub use audit_log::create_audit_logs_user_created_id_index;pub use audit_log::create_audit_logs_user_id_index;pub use audit_log::delete_audit_logs_before;pub use audit_log::drop_audit_logs_table;pub use audit_log::find_audit_logs_with_filters_cursor;pub use connection::DatabaseConfig;pub use connection::DbHandles;pub use connection::connect;pub use connection::connect_reader_for_writer;pub use connection::connect_reader_for_writer_with_metrics;pub use connection::connect_with_metrics;pub use mail_outbox::MAIL_OUTBOX_ATTEMPT_COUNT_COLUMN;pub use mail_outbox::MAIL_OUTBOX_CREATED_AT_COLUMN;pub use mail_outbox::MAIL_OUTBOX_DUE_INDEX;pub use mail_outbox::MAIL_OUTBOX_ID_COLUMN;pub use mail_outbox::MAIL_OUTBOX_LAST_ERROR_COLUMN;pub use mail_outbox::MAIL_OUTBOX_NEXT_ATTEMPT_AT_COLUMN;pub use mail_outbox::MAIL_OUTBOX_PAYLOAD_JSON_COLUMN;pub use mail_outbox::MAIL_OUTBOX_PROCESSING_INDEX;pub use mail_outbox::MAIL_OUTBOX_PROCESSING_STARTED_AT_COLUMN;pub use mail_outbox::MAIL_OUTBOX_SENT_AT_COLUMN;pub use mail_outbox::MAIL_OUTBOX_SENT_AT_INDEX;pub use mail_outbox::MAIL_OUTBOX_STATUS_COLUMN;pub use mail_outbox::MAIL_OUTBOX_TABLE;pub use mail_outbox::MAIL_OUTBOX_TEMPLATE_CODE_COLUMN;pub use mail_outbox::MAIL_OUTBOX_TO_ADDRESS_COLUMN;pub use mail_outbox::MAIL_OUTBOX_TO_NAME_COLUMN;pub use mail_outbox::MAIL_OUTBOX_UPDATED_AT_COLUMN;pub use mail_outbox::MailOutboxCreate;pub use mail_outbox::MailOutboxDbStore;pub use mail_outbox::create_mail_outbox_due_index;pub use mail_outbox::create_mail_outbox_processing_index;pub use mail_outbox::create_mail_outbox_row;pub use mail_outbox::create_mail_outbox_sent_at_index;pub use mail_outbox::create_mail_outbox_table;pub use mail_outbox::drop_mail_outbox_table;pub use runtime_lease::RUNTIME_LEASE_CREATED_AT_COLUMN;pub use runtime_lease::RUNTIME_LEASE_EXPIRES_AT_COLUMN;pub use runtime_lease::RUNTIME_LEASE_ID_COLUMN;pub use runtime_lease::RUNTIME_LEASE_LAST_RENEWED_AT_COLUMN;pub use runtime_lease::RUNTIME_LEASE_OWNER_ID_COLUMN;pub use runtime_lease::RUNTIME_LEASE_UPDATED_AT_COLUMN;pub use runtime_lease::RUNTIME_LEASES_TABLE;pub use runtime_lease::RuntimeLeaseDbStore;pub use runtime_lease::create_runtime_leases_table;pub use runtime_lease::drop_runtime_leases_table;pub use scheduled_task::SCHEDULED_TASK_CLAIM_EXPIRES_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASK_CLAIM_OWNER_ID_COLUMN;pub use scheduled_task::SCHEDULED_TASK_CREATED_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASK_DISPLAY_NAME_COLUMN;pub use scheduled_task::SCHEDULED_TASK_ID_COLUMN;pub use scheduled_task::SCHEDULED_TASK_LAST_CLAIMED_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASK_LAST_FINISHED_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASK_NAME_COLUMN;pub use scheduled_task::SCHEDULED_TASK_NAMESPACE_COLUMN;pub use scheduled_task::SCHEDULED_TASK_NAMESPACE_NAME_UNIQUE_INDEX;pub use scheduled_task::SCHEDULED_TASK_NEXT_RUN_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASK_NEXT_RUN_INDEX;pub use scheduled_task::SCHEDULED_TASK_UPDATED_AT_COLUMN;pub use scheduled_task::SCHEDULED_TASKS_TABLE;pub use scheduled_task::ScheduledTaskDbStore;pub use scheduled_task::create_scheduled_tasks_namespace_name_unique_index;pub use scheduled_task::create_scheduled_tasks_next_run_index;pub use scheduled_task::create_scheduled_tasks_table;pub use scheduled_task::drop_scheduled_tasks_table;pub use system_config::PresentedSystemConfig;pub use system_config::SystemConfigCursorSlice;pub use system_config::SystemConfigDbBinding;pub use system_config::SystemConfigDbStore;pub use system_config::SystemConfigUpsert;pub use system_config::present_system_config;pub use system_config::SYSTEM_CONFIG_CATEGORY_COLUMN;pub use system_config::SYSTEM_CONFIG_DESCRIPTION_COLUMN;pub use system_config::SYSTEM_CONFIG_ID_COLUMN;pub use system_config::SYSTEM_CONFIG_IS_SENSITIVE_COLUMN;pub use system_config::SYSTEM_CONFIG_KEY_COLUMN;pub use system_config::SYSTEM_CONFIG_KEY_UNIQUE_INDEX;pub use system_config::SYSTEM_CONFIG_NAMESPACE_COLUMN;pub use system_config::SYSTEM_CONFIG_REQUIRES_RESTART_COLUMN;pub use system_config::SYSTEM_CONFIG_SOURCE_COLUMN;pub use system_config::SYSTEM_CONFIG_TABLE;pub use system_config::SYSTEM_CONFIG_UPDATED_AT_COLUMN;pub use system_config::SYSTEM_CONFIG_UPDATED_BY_COLUMN;pub use system_config::SYSTEM_CONFIG_VALUE_COLUMN;pub use system_config::SYSTEM_CONFIG_VALUE_TYPE_COLUMN;pub use system_config::SYSTEM_CONFIG_VISIBILITY_COLUMN;pub use system_config::create_system_config_key_unique_index;pub use system_config::create_system_config_table;pub use system_config::drop_system_config_table;
Modules§
- audit_
log - Database-backed audit log table and base store.
- connection
- Database connection helpers and SQLite reader/writer pool setup.
- mail_
outbox - Database-backed mail outbox table and dispatch store.
- pagination
- SeaORM repository helpers for offset pagination.
- retry
- Retry helpers for transient database operations.
- runtime_
lease - Database-backed runtime lease store.
- scheduled_
task - Database-backed scheduled task catalog and claim store.
- search_
query - Shared search-query expression helpers.
- sort
- Shared repository helpers for applying whitelisted sort options.
- system_
config - Database-backed runtime system configuration store.
- transaction
- Transaction helpers with consistent error mapping and rollback tracing.
Structs§
- Database
Health Component - Runtime component that registers the standard database health check only.
- Database
Runtime Component - Runtime component that closes database handles during graceful shutdown.
Enums§
- Database
Error Kind - Database failure classes that are stable enough for infrastructure retry decisions.
- DbError
- Errors returned by database helpers.
Constants§
- DATABASE_
COMPONENT - Stable component name used for database handles.
- DATABASE_
CONNECTIONS_ SHUTDOWN_ PHASE - Stable shutdown phase name for database handle closing.
- DATABASE_
HEALTH_ CHECK - Stable health check name used for database ping checks.
- DATABASE_
HEALTH_ CHECK_ TIMEOUT - Default timeout for database readiness and diagnostics health checks.
Functions§
- check_
database_ component - Runs the standard database ping health check.
- database_
component - Creates the database runtime component used by product entrypoints.
- database_
component_ after - Creates the database runtime component with shutdown dependencies.
- database_
error_ kind - Classifies driver-native database errors without relying on localized messages.
- database_
health_ component - Creates the standard database health component.
- database_
health_ options - Returns the standard database health check options.
- drop_
index_ if_ exists - Drops an index when it exists across all supported database backends.
- ping_
database - Pings the database connection used by the standard health check.
- rename_
mysql_ index_ if_ exists - Renames a MySQL index when the source exists and the target does not.
Type Aliases§
- Result
- Result type returned by database helpers.