pub struct UniqueConstraintDef {
pub table: &'static str,
pub name: &'static str,
pub columns: &'static [Cow<'static, str>],
pub name_explicit: bool,
}Expand description
A unique constraint that can be built in a const.
TableSql writes a single-column constraint without an
explicit name as UNIQUE on the column, and any other as a table
constraint.
§Examples
use drizzle_types::sqlite::ddl::UniqueConstraintDef;
use std::borrow::Cow;
const COLS: &[Cow<'static, str>] = &[Cow::Borrowed("email"), Cow::Borrowed("tenant_id")];
const UNIQ: UniqueConstraintDef = UniqueConstraintDef::new("users", "uq_email_tenant")
.columns(COLS);Fields§
§table: &'static strParent table name
name: &'static strConstraint name
columns: &'static [Cow<'static, str>]Columns in the unique constraint
name_explicit: boolWhether the user gave the constraint name (rather than it being generated)
Implementations§
Source§impl UniqueConstraintDef
impl UniqueConstraintDef
Sourcepub const fn new(table: &'static str, name: &'static str) -> Self
pub const fn new(table: &'static str, name: &'static str) -> Self
Creates a unique constraint with no columns; set them with
columns.
Sourcepub const fn columns(self, cols: &'static [Cow<'static, str>]) -> Self
pub const fn columns(self, cols: &'static [Cow<'static, str>]) -> Self
Sets the constrained columns.
Sourcepub const fn explicit_name(self) -> Self
pub const fn explicit_name(self) -> Self
Marks the name as given by the user.
Sourcepub const fn into_unique_constraint(self) -> UniqueConstraint
pub const fn into_unique_constraint(self) -> UniqueConstraint
Converts to the runtime UniqueConstraint.
Trait Implementations§
Source§impl Clone for UniqueConstraintDef
impl Clone for UniqueConstraintDef
impl Copy for UniqueConstraintDef
Source§impl Debug for UniqueConstraintDef
impl Debug for UniqueConstraintDef
Source§impl Default for UniqueConstraintDef
impl Default for UniqueConstraintDef
impl Eq for UniqueConstraintDef
Source§impl From<UniqueConstraintDef> for UniqueConstraint
impl From<UniqueConstraintDef> for UniqueConstraint
Source§fn from(def: UniqueConstraintDef) -> Self
fn from(def: UniqueConstraintDef) -> Self
Converts to this type from the input type.
Source§impl Hash for UniqueConstraintDef
impl Hash for UniqueConstraintDef
Source§impl PartialEq for UniqueConstraintDef
impl PartialEq for UniqueConstraintDef
impl StructuralPartialEq for UniqueConstraintDef
Auto Trait Implementations§
impl Freeze for UniqueConstraintDef
impl RefUnwindSafe for UniqueConstraintDef
impl Send for UniqueConstraintDef
impl Sync for UniqueConstraintDef
impl Unpin for UniqueConstraintDef
impl UnsafeUnpin for UniqueConstraintDef
impl UnwindSafe for UniqueConstraintDef
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