Skip to main content

RustMigration

Struct RustMigration 

Source
pub struct RustMigration<Conn> { /* private fields */ }
Expand description

A rust side migration

This type represents a simple rust side migration builder that allows you to register a rust callback as up and down migration and that also allows you to customize the migration settings

Constructing a RustMigration requires to specify an up migration that describes how to migrate your database schema from an old to an new version.

Down migrations, that describe how to revert the changes done by the up migrations, are optional. If you don’t plan to revert migrations you don’t need to provide them.

Implementations§

Source§

impl<Conn> RustMigration<Conn>

Source

pub fn new(up: impl Fn(&mut Conn) -> QueryResult<()> + 'static) -> Self

Construct a new instance of this type with a given up migration function.

This function needs to perform any action to migrate your database from an old version to the expected new version

Source

pub fn with_down( self, down: impl Fn(&mut Conn) -> QueryResult<()> + 'static, ) -> Self

Register a down migration

This function allows you to register a down migration to revert any changes done by the up migration. It is used to restore the database schema used before this migration was applied in the case of an revert. If you don’t plan to revert migrations you don’t need to provide a down migration.

Source

pub fn without_transaction(self) -> Self

Customizes the migration settings to not run this migration in a transaction

By default diesel will execute migrations inside of a transaction on all database systems supporting this to ensure that migrations are either fully executed or not.

Some database operations require to be run outside transactions. If you use such an operation in either your up or down migration you need to use this function to disable the default transaction behaviour.

Trait Implementations§

Source§

impl<Conn> TypedMigration<Conn> for RustMigration<Conn>

Source§

fn up(&self, conn: &mut Conn) -> QueryResult<()>

The implementation of the up migration. Read more
Source§

fn down(&self, conn: &mut Conn) -> QueryResult<()>

The implementation of the down migration. Read more
Source§

fn run_in_transaction(&self) -> bool

Should the given migration be run in a transaction or not Read more

Auto Trait Implementations§

§

impl<Conn> !RefUnwindSafe for RustMigration<Conn>

§

impl<Conn> !Send for RustMigration<Conn>

§

impl<Conn> !Sync for RustMigration<Conn>

§

impl<Conn> !UnwindSafe for RustMigration<Conn>

§

impl<Conn> Freeze for RustMigration<Conn>

§

impl<Conn> Unpin for RustMigration<Conn>

§

impl<Conn> UnsafeUnpin for RustMigration<Conn>

Blanket Implementations§

Source§

impl<T> AggregateExpressionMethods for T

Source§

fn aggregate_distinct(self) -> Self::Output
where Self: DistinctDsl,

DISTINCT modifier for aggregate functions Read more
Source§

fn aggregate_all(self) -> Self::Output
where Self: AllDsl,

ALL modifier for aggregate functions Read more
Source§

fn aggregate_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add an aggregate function filter Read more
Source§

fn aggregate_order<O>(self, o: O) -> Self::Output
where Self: OrderAggregateDsl<O>,

Add an aggregate function order Read more
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WindowExpressionMethods for T

Source§

fn over(self) -> Self::Output
where Self: OverDsl,

Turn a function call into a window function call Read more
Source§

fn window_filter<P>(self, f: P) -> Self::Output
where P: AsExpression<Bool>, Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,

Add a filter to the current window function Read more
Source§

fn partition_by<E>(self, expr: E) -> Self::Output
where Self: PartitionByDsl<E>,

Add a partition clause to the current window function Read more
Source§

fn window_order<E>(self, expr: E) -> Self::Output
where Self: OrderWindowDsl<E>,

Add a order clause to the current window function Read more
Source§

fn frame_by<E>(self, expr: E) -> Self::Output
where Self: FrameDsl<E>,

Add a frame clause to the current window function Read more