pub struct CombinedMigrationSource<DB> { /* private fields */ }Expand description
A diesel migration source that combines several other sources
This source will act like all migrations came from a single source. It orders all the migrations by version
§Example
use diesel::prelude::*;
use diesel_migrations::EmbeddedMigrations;
use diesel_migrations::CombinedMigrationSource;
use crate::diesel_migrations::MigrationHarness;
use migrations_macros::embed_migrations;
pub const PG_MIGRATIONS: EmbeddedMigrations = embed_migrations!("../migrations/postgres");
pub const SQLITE_MIGRATIONS: EmbeddedMigrations = embed_migrations!("../migrations/sqlite");
// Create a new empty combined source
let mut combined_sources = CombinedMigrationSource::default();
// It's not particular meaningful to combine PostgreSQL and SQLite like this,
// but that reasonable demonstrates the API
combined_sources.add_source(PG_MIGRATIONS);
combined_sources.add_source(SQLITE_MIGRATIONS);
// run the migrations
let mut connection = SqliteConnection::establish(&connection_url)?;
let res = connection.run_pending_migrations(combined_sources);Implementations§
Source§impl<DB> CombinedMigrationSource<DB>where
DB: Backend,
impl<DB> CombinedMigrationSource<DB>where
DB: Backend,
Sourcepub fn add_source(
&mut self,
source: impl MigrationSource<DB> + Send + Sync + 'static,
)
pub fn add_source( &mut self, source: impl MigrationSource<DB> + Send + Sync + 'static, )
Register another source with the given migration source
Trait Implementations§
Source§impl<DB: Clone> Clone for CombinedMigrationSource<DB>
impl<DB: Clone> Clone for CombinedMigrationSource<DB>
Source§fn clone(&self) -> CombinedMigrationSource<DB>
fn clone(&self) -> CombinedMigrationSource<DB>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<DB: Default> Default for CombinedMigrationSource<DB>
impl<DB: Default> Default for CombinedMigrationSource<DB>
Source§fn default() -> CombinedMigrationSource<DB>
fn default() -> CombinedMigrationSource<DB>
Returns the “default value” for a type. Read more
Source§impl<DB> MigrationSource<DB> for CombinedMigrationSource<DB>where
DB: Backend,
impl<DB> MigrationSource<DB> for CombinedMigrationSource<DB>where
DB: Backend,
Auto Trait Implementations§
impl<DB> !RefUnwindSafe for CombinedMigrationSource<DB>
impl<DB> !UnwindSafe for CombinedMigrationSource<DB>
impl<DB> Freeze for CombinedMigrationSource<DB>
impl<DB> Send for CombinedMigrationSource<DB>
impl<DB> Sync for CombinedMigrationSource<DB>
impl<DB> Unpin for CombinedMigrationSource<DB>
impl<DB> UnsafeUnpin for CombinedMigrationSource<DB>
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreSource§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more