pub struct SchemaConfig {
pub owner: Option<String>,
pub version: Option<u32>,
pub auto_migrate: bool,
pub conversations: TableConfig,
pub responses: TableConfig,
pub conversation_items: TableConfig,
pub conversation_item_links: TableConfig,
pub conversation_memories: TableConfig,
}Expand description
Top-level schema configuration. Drives all SQL generation and key naming.
Every field has a default matching current hardcoded behavior, so omitting
the entire schema: section in YAML produces identical queries to today.
Fields§
§owner: Option<String>Schema owner / key prefix (e.g. "ADMIN" for Oracle, "myapp" for Redis).
The dot in ADMIN."TABLE" is generated by qualified_table(), not stored here.
version: Option<u32>Starting schema version. Set this when your database already has
migrations applied (e.g. version: 3 skips migrations 1–3).
None means start from 0 (apply all migrations).
auto_migrate: boolWhether to run schema migrations automatically on startup.
Defaults to false (safe by default). When false and pending
migrations are detected, startup fails with the exact SQL statements
needed so you can review and apply them manually.
Set to true to opt in to automatic migration.
conversations: TableConfig§responses: TableConfig§conversation_items: TableConfig§conversation_item_links: TableConfig§conversation_memories: TableConfigImplementations§
Source§impl SchemaConfig
impl SchemaConfig
Sourcepub fn uppercase_for_oracle(&mut self)
pub fn uppercase_for_oracle(&mut self)
Uppercase all table names and column override values in-place.
Oracle folds unquoted identifiers to uppercase, so existing tables and
columns are stored as CONVERSATIONS, CONV_ID, etc.
qualified_table() quotes identifiers (OWNER."table"), making them
case-sensitive. Calling this in OracleStore::new() ensures the
quoted names match the actual uppercase catalog entries Oracle created.
Trait Implementations§
Source§impl Clone for SchemaConfig
impl Clone for SchemaConfig
Source§fn clone(&self) -> SchemaConfig
fn clone(&self) -> SchemaConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SchemaConfig
impl Debug for SchemaConfig
Source§impl Default for SchemaConfig
impl Default for SchemaConfig
Source§impl<'de> Deserialize<'de> for SchemaConfigwhere
SchemaConfig: Default,
impl<'de> Deserialize<'de> for SchemaConfigwhere
SchemaConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SchemaConfig
impl PartialEq for SchemaConfig
Source§impl Serialize for SchemaConfig
impl Serialize for SchemaConfig
impl StructuralPartialEq for SchemaConfig
Auto Trait Implementations§
impl Freeze for SchemaConfig
impl RefUnwindSafe for SchemaConfig
impl Send for SchemaConfig
impl Sync for SchemaConfig
impl Unpin for SchemaConfig
impl UnsafeUnpin for SchemaConfig
impl UnwindSafe for SchemaConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more