|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Manages entity metadata and provides factory methods. More...
#include <entity.h>

Public Member Functions | |
| entity_manager ()=default | |
| Default constructor - used by database_context. | |
| template<typename EntityType > | |
| std::enable_if_t< is_entity_v< EntityType > > | register_entity () |
| template<typename EntityType > | |
| std::enable_if_t< is_entity_v< EntityType >, const entity_metadata & > | get_metadata () |
| template<typename EntityType > | |
| std::enable_if_t< is_entity_v< EntityType >, query_builder< EntityType > > | query (std::shared_ptr< core::database_backend > db) |
| bool | create_tables (std::shared_ptr< core::database_backend > db) |
| bool | drop_tables (std::shared_ptr< core::database_backend > db) |
| bool | sync_schema (std::shared_ptr< core::database_backend > db) |
Private Attributes | |
| std::unordered_map< std::string, std::unique_ptr< entity_metadata > > | metadata_cache_ |
Manages entity metadata and provides factory methods.
|
default |
Default constructor - used by database_context.
| bool database::orm::entity_manager::create_tables | ( | std::shared_ptr< core::database_backend > | db | ) |
Definition at line 166 of file entity.cpp.
References metadata_cache_, and ORM_LOG_ERROR.
Referenced by sync_schema().

| bool database::orm::entity_manager::drop_tables | ( | std::shared_ptr< core::database_backend > | db | ) |
Definition at line 200 of file entity.cpp.
References metadata_cache_, and ORM_LOG_ERROR.
Referenced by sync_schema().

| std::enable_if_t< is_entity_v< EntityType >, const entity_metadata & > database::orm::entity_manager::get_metadata | ( | ) |
| std::enable_if_t< is_entity_v< EntityType >, query_builder< EntityType > > database::orm::entity_manager::query | ( | std::shared_ptr< core::database_backend > | db | ) |
| std::enable_if_t< is_entity_v< EntityType > > database::orm::entity_manager::register_entity | ( | ) |
Referenced by IntegrationTestBase::setup_orm_framework().

| bool database::orm::entity_manager::sync_schema | ( | std::shared_ptr< core::database_backend > | db | ) |
Definition at line 223 of file entity.cpp.
References create_tables(), drop_tables(), and ORM_LOG_ERROR.

|
private |
Definition at line 270 of file entity.h.
Referenced by create_tables(), and drop_tables().