pub struct IntrospectedColumn {
pub name: String,
pub ty: SqlType,
pub primary_key: bool,
pub nullable: bool,
pub fk_target: Option<String>,
pub unique: bool,
pub index: bool,
pub default: Option<String>,
pub auto_now_add: bool,
pub auto_now: bool,
pub choices: Vec<String>,
pub enum_type: Option<String>,
}Expand description
One introspected column.
Fields§
§name: String§ty: SqlType§primary_key: bool§nullable: bool§fk_target: Option<String>The referenced table when this column is a foreign key, else None.
Drives rendering the field as ForeignKey<Target> rather than a bare
integer, and populates Column::fk_target in the initial migration.
unique: boolA single-column UNIQUE constraint / unique index covers this column.
index: boolA single-column (non-unique) index covers this column — rendered as
#[umbral(index)].
default: Option<String>The recovered constant DB default ('active', 0, true), cleaned of
Postgres ::type casts and surrounding quotes. None when the column
has no default, or one umbral can’t represent as a #[umbral(default)]
literal — a sequence (nextval(...)) or function call. A
CURRENT_TIMESTAMP / now() default on a temporal column is lifted to
auto_now_add instead of landing here.
auto_now_add: boolThe column is populated with the current time on INSERT — recovered from
a CURRENT_TIMESTAMP / now() default on a temporal column, or (under
--framework django) a created*-named timestamp. Renders
#[umbral(auto_now_add)].
auto_now: boolThe column is refreshed to the current time on every write. Not
expressible as DB metadata on Postgres/SQLite (Django sets it in Python),
so recovered only by the --framework django name heuristic
(updated* / modified*). Renders #[umbral(auto_now)].
choices: Vec<String>The closed set of values a native DB enum column accepts, in
enumsortorder. Non-empty only for a Postgres USER-DEFINED enum
column: the type stays SqlType::Text and the field renders as the
generated [Choices] enum named by Self::enum_type, carrying a
#[umbral(choices)] attribute (which the migration lowers to a
CHECK (col IN (...)) constraint). Empty for every non-enum column —
SQLite has no native enum type, so its path never populates this.
enum_type: Option<String>The Postgres enum type name backing a choices column (PaymentMethod),
or None when the column isn’t a native enum. Drives the generated Rust
enum’s name and lets columns sharing one DB enum type reuse a single
generated enum rather than each emitting its own.
Trait Implementations§
Source§impl Clone for IntrospectedColumn
impl Clone for IntrospectedColumn
Source§fn clone(&self) -> IntrospectedColumn
fn clone(&self) -> IntrospectedColumn
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntrospectedColumn
impl Debug for IntrospectedColumn
impl Eq for IntrospectedColumn
Source§impl From<&IntrospectedColumn> for Column
impl From<&IntrospectedColumn> for Column
Source§fn from(c: &IntrospectedColumn) -> Self
fn from(c: &IntrospectedColumn) -> Self
Source§impl PartialEq for IntrospectedColumn
impl PartialEq for IntrospectedColumn
impl StructuralPartialEq for IntrospectedColumn
Auto Trait Implementations§
impl Freeze for IntrospectedColumn
impl RefUnwindSafe for IntrospectedColumn
impl Send for IntrospectedColumn
impl Sync for IntrospectedColumn
impl Unpin for IntrospectedColumn
impl UnsafeUnpin for IntrospectedColumn
impl UnwindSafe for IntrospectedColumn
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);