pub struct PrimaryKey {
pub schema: Cow<'static, str>,
pub table: Cow<'static, str>,
pub name: Cow<'static, str>,
pub name_explicit: bool,
pub columns: Cow<'static, [Cow<'static, str>]>,
}Expand description
Runtime primary key constraint entity
Uses Cow<'static, str> for all string fields, which works with both:
- Borrowed data from const definitions (
Cow::Borrowed) - Owned data from deserialization/introspection (
Cow::Owned)
Fields§
§schema: Cow<'static, str>Schema name
table: Cow<'static, str>Parent table name
name: Cow<'static, str>Constraint name
name_explicit: boolWhether the constraint name was explicitly specified
columns: Cow<'static, [Cow<'static, str>]>Columns in the primary key
Implementations§
Source§impl PrimaryKey
impl PrimaryKey
Sourcepub fn new(
schema: impl Into<Cow<'static, str>>,
table: impl Into<Cow<'static, str>>,
name: impl Into<Cow<'static, str>>,
columns: impl Into<Cow<'static, [Cow<'static, str>]>>,
) -> Self
pub fn new( schema: impl Into<Cow<'static, str>>, table: impl Into<Cow<'static, str>>, name: impl Into<Cow<'static, str>>, columns: impl Into<Cow<'static, [Cow<'static, str>]>>, ) -> Self
Create a new primary key
Sourcepub fn from_strings(
schema: String,
table: String,
name: String,
columns: Vec<String>,
) -> PrimaryKey
pub fn from_strings( schema: String, table: String, name: String, columns: Vec<String>, ) -> PrimaryKey
Create a new primary key from owned strings (convenience for runtime construction)
Sourcepub fn explicit_name(self) -> Self
pub fn explicit_name(self) -> Self
Mark the name as explicitly specified
Source§impl PrimaryKey
impl PrimaryKey
Sourcepub fn to_constraint_sql(&self) -> String
pub fn to_constraint_sql(&self) -> String
Generate the PRIMARY KEY constraint clause
Sourcepub fn add_pk_sql(&self) -> String
pub fn add_pk_sql(&self) -> String
Generate ADD PRIMARY KEY SQL
Sourcepub fn drop_pk_sql(&self) -> String
pub fn drop_pk_sql(&self) -> String
Generate DROP PRIMARY KEY SQL
Trait Implementations§
Source§impl Clone for PrimaryKey
impl Clone for PrimaryKey
Source§fn clone(&self) -> PrimaryKey
fn clone(&self) -> PrimaryKey
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PrimaryKey
impl Debug for PrimaryKey
Source§impl Default for PrimaryKey
impl Default for PrimaryKey
Source§impl From<PrimaryKeyDef> for PrimaryKey
impl From<PrimaryKeyDef> for PrimaryKey
Source§fn from(def: PrimaryKeyDef) -> Self
fn from(def: PrimaryKeyDef) -> Self
Converts to this type from the input type.
Source§impl PartialEq for PrimaryKey
impl PartialEq for PrimaryKey
impl Eq for PrimaryKey
impl StructuralPartialEq for PrimaryKey
Auto Trait Implementations§
impl Freeze for PrimaryKey
impl RefUnwindSafe for PrimaryKey
impl Send for PrimaryKey
impl Sync for PrimaryKey
impl Unpin for PrimaryKey
impl UnwindSafe for PrimaryKey
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