Skip to main content

InheritanceInfo

Struct InheritanceInfo 

Source
pub struct InheritanceInfo {
    pub strategy: InheritanceStrategy,
    pub parent: Option<&'static str>,
    pub discriminator_column: Option<&'static str>,
    pub discriminator_value: Option<&'static str>,
}
Expand description

Inheritance metadata for a model.

This struct captures the inheritance configuration for models that participate in table inheritance hierarchies.

Fields§

§strategy: InheritanceStrategy

The inheritance strategy for this model.

§parent: Option<&'static str>

The parent model name (for child models).

When set, this model inherits from the specified parent model.

§discriminator_column: Option<&'static str>

The discriminator column name (for single table inheritance base models).

For single table inheritance, this specifies which column contains the type discriminator values that distinguish between different model types.

§discriminator_value: Option<&'static str>

The discriminator value for this model (single table inheritance child).

For single table inheritance, this value is stored in the discriminator column to identify rows belonging to this specific model type.

Implementations§

Source§

impl InheritanceInfo

Source

pub const fn none() -> Self

Create a new InheritanceInfo with no inheritance.

Source

pub const fn single_table() -> Self

Create inheritance info for a base model with single table inheritance.

Source

pub const fn joined_table() -> Self

Create inheritance info for a base model with joined table inheritance.

Source

pub const fn concrete_table() -> Self

Create inheritance info for a base model with concrete table inheritance.

Source

pub const fn child(parent: &'static str) -> Self

Create inheritance info for a child model.

Source

pub const fn with_discriminator_column(self, column: &'static str) -> Self

Set the discriminator column name (builder pattern, for base models).

Source

pub const fn with_discriminator_value(self, value: &'static str) -> Self

Set the discriminator value (builder pattern, for child models).

Source

pub const fn is_child(&self) -> bool

Check if this model is a child in an inheritance hierarchy.

Source

pub const fn is_base(&self) -> bool

Check if this model is a base model in an inheritance hierarchy.

Trait Implementations§

Source§

impl Clone for InheritanceInfo

Source§

fn clone(&self) -> InheritanceInfo

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InheritanceInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for InheritanceInfo

Source§

fn default() -> InheritanceInfo

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, _span: NoopSpan) -> Self

Instruments this future with a span (no-op when disabled).
Source§

fn in_current_span(self) -> Self

Instruments this future with the current span (no-op when disabled).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more