Skip to main content

Migration

Trait Migration 

Source
pub trait Migration<DB: Backend> {
    // Required methods
    fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>;
    fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>;
    fn metadata(&self) -> &dyn MigrationMetadata;
    fn name(&self) -> &dyn MigrationName;
}
Expand description

Represents a migration that interacts with diesel

Required Methods§

Source

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Apply this migration

Source

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Revert this migration

Source

fn metadata(&self) -> &dyn MigrationMetadata

Get a the attached metadata for this migration

Source

fn name(&self) -> &dyn MigrationName

Get the name of the current migration

The provided name is used by migration harness to get the version of a migration and to as something to that is displayed and allows user to identify a specific migration

Trait Implementations§

Source§

impl<DB: Backend> Migration<DB> for &dyn Migration<DB>

Source§

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Apply this migration
Source§

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Revert this migration
Source§

fn metadata(&self) -> &dyn MigrationMetadata

Get a the attached metadata for this migration
Source§

fn name(&self) -> &dyn MigrationName

Get the name of the current migration Read more
Source§

impl<DB: Backend> Migration<DB> for Box<dyn Migration<DB> + '_>

Source§

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Apply this migration
Source§

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Revert this migration
Source§

fn metadata(&self) -> &dyn MigrationMetadata

Get a the attached metadata for this migration
Source§

fn name(&self) -> &dyn MigrationName

Get the name of the current migration Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<DB: Backend> Migration<DB> for Arc<dyn Migration<DB> + '_>

Source§

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn metadata(&self) -> &dyn MigrationMetadata

Source§

fn name(&self) -> &dyn MigrationName

Source§

impl<DB: Backend> Migration<DB> for Box<dyn Migration<DB> + '_>

Source§

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn metadata(&self) -> &dyn MigrationMetadata

Source§

fn name(&self) -> &dyn MigrationName

Source§

impl<DB: Backend> Migration<DB> for Rc<dyn Migration<DB> + '_>

Source§

fn run(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn revert(&self, conn: &mut dyn BoxableConnection<DB>) -> Result<()>

Source§

fn metadata(&self) -> &dyn MigrationMetadata

Source§

fn name(&self) -> &dyn MigrationName

Implementors§

Source§

impl<DB: Backend> Migration<DB> for &dyn Migration<DB>