Struct barrel::types::Type [−][src]
pub struct Type {
pub nullable: bool,
pub unique: bool,
pub increments: bool,
pub indexed: bool,
pub primary: bool,
pub default: Option<WrappedDefault<'static>>,
pub size: Option<usize>,
pub inner: BaseType,
}
Expand description
A database column type and all the metadata attached to it
Using this struct directly is not recommended. Instead, you should be
using the constructor APIs in the types
module.
A Type
is an enum provided to other barrel
APIs in order
to generate SQL datatypes. Working with them directly is possible
but not recommended.
Instead, you can use these helper functions to construct Type
enums of
different…types and constraints. Field metadata is added via chainable
factory pattern functions.
Default values
If no additional arguments are provided, some assumptions will be made about the metadata of a column type.
nullable
:false
indexed
:false
unique
:false
default
:None
size
:None
(which will error if size is important)
Examples
extern crate barrel;
use barrel::types::*;
// Make your own Primary key :)
let col = integer().increments(true).unique(true);
Fields
nullable: bool
unique: bool
increments: bool
indexed: bool
primary: bool
default: Option<WrappedDefault<'static>>
size: Option<usize>
inner: BaseType
Implementations
This is a public API, be considered about breaking thigns
Specify if this type should auto-increment
Specify if this type should be indexed by your SQL implementation
Provide a default value for a type column
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Type
impl UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more