pub trait Table: QuerySource + AsQuery + Sized {
type PrimaryKey: SelectableExpression<Self> + ValidGrouping<()>;
type AllColumns: SelectableExpression<Self> + ValidGrouping<()>;
// Required methods
fn primary_key(&self) -> Self::PrimaryKey;
fn all_columns() -> Self::AllColumns;
}
Expand description
A SQL database table. Types which implement this trait should have been
generated by the table!
macro.
Required Associated Types§
sourcetype PrimaryKey: SelectableExpression<Self> + ValidGrouping<()>
type PrimaryKey: SelectableExpression<Self> + ValidGrouping<()>
The type returned by primary_key
sourcetype AllColumns: SelectableExpression<Self> + ValidGrouping<()>
type AllColumns: SelectableExpression<Self> + ValidGrouping<()>
The type returned by all_columns
Required Methods§
sourcefn primary_key(&self) -> Self::PrimaryKey
fn primary_key(&self) -> Self::PrimaryKey
Returns the primary key of this table.
If the table has a composite primary key, this will be a tuple.
sourcefn all_columns() -> Self::AllColumns
fn all_columns() -> Self::AllColumns
Returns a tuple of all columns belonging to this table.
Object Safety§
This trait is not object safe.