pub struct TableInfo {
pub name: String,
pub columns: Vec<ColumnInfo>,
pub primary_keys: Vec<String>,
pub foreign_keys: Vec<ForeignKey>,
pub description: Option<String>,
pub row_count: Option<usize>,
pub metadata: HashMap<String, Value>,
}
Expand description
Table information
Fields§
§name: String
Table name
columns: Vec<ColumnInfo>
Columns in the table
primary_keys: Vec<String>
Primary key columns
foreign_keys: Vec<ForeignKey>
Foreign key relationships
description: Option<String>
Table description
row_count: Option<usize>
Row count (if available)
metadata: HashMap<String, Value>
Custom table metadata
Implementations§
Source§impl TableInfo
impl TableInfo
Sourcepub fn with_column(self, column: ColumnInfo) -> Self
pub fn with_column(self, column: ColumnInfo) -> Self
Add column
Sourcepub fn with_primary_key<S: Into<String>>(self, column: S) -> Self
pub fn with_primary_key<S: Into<String>>(self, column: S) -> Self
Add primary key
Sourcepub fn with_foreign_key(self, fk: ForeignKey) -> Self
pub fn with_foreign_key(self, fk: ForeignKey) -> Self
Add foreign key
Sourcepub fn description<S: Into<String>>(self, description: S) -> Self
pub fn description<S: Into<String>>(self, description: S) -> Self
Set description
Sourcepub fn get_column(&self, name: &str) -> Option<&ColumnInfo>
pub fn get_column(&self, name: &str) -> Option<&ColumnInfo>
Get column by name
Sourcepub fn is_primary_key(&self, column: &str) -> bool
pub fn is_primary_key(&self, column: &str) -> bool
Check if column is primary key
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TableInfo
impl<'de> Deserialize<'de> for TableInfo
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TableInfo
impl RefUnwindSafe for TableInfo
impl Send for TableInfo
impl Sync for TableInfo
impl Unpin for TableInfo
impl UnwindSafe for TableInfo
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self
file descriptor. Read moreSource§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>
Converts
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>
Converts
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