FsMigration

Struct FsMigration 

Source
pub struct FsMigration { /* private fields */ }
Expand description

A migration stored in the filesystem.

Implementations§

Source§

impl FsMigration

Source

pub fn copy_to(&self, other: &mut FsMigration) -> Result<(), Error>

Source

pub fn delete_db(&self) -> Result<(), Error>

Delete all of the files except info.json which is recreated with only from_name set to allow migration series traversal.

Trait Implementations§

Source§

impl Clone for FsMigration

Source§

fn clone(&self) -> FsMigration

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FsMigration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Migration for FsMigration

Source§

fn db(&self) -> Result<ADB, Error>

Retrieves the full abstract database state describing all tables
Source§

fn migration_from(&self) -> Result<Option<Cow<'_, str>>, Error>

Get the name of the migration before this one (if any).
Source§

fn name(&self) -> Cow<'_, str>

The name of this migration.
Source§

fn up_sql(&self, backend_name: &str) -> Result<Option<String>, Error>

The backend-specific commands to apply this migration.
Source§

fn down_sql(&self, backend_name: &str) -> Result<Option<String>, Error>

The backend-specific commands to undo this migration.
Source§

fn sql_backends(&self) -> Result<Vec<String>, Error>

The names of the backends this migration has sql for.
Source§

fn apply(&self, conn: &mut impl BackendConnection) -> Result<(), Error>

Apply the migration to a database connection. The connection must be for the same type of database as this and the database must be in the state of the migration prior to this one
Source§

fn mark_applied(&self, conn: &impl ConnectionMethods) -> Result<(), Error>

Mark the migration as being applied without doing any work. Use carefully – the caller must ensure that the database schema already matches that expected by this migration.
Source§

fn downgrade(&self, conn: &mut impl BackendConnection) -> Result<(), Error>

Un-apply (downgrade) the migration to a database connection. The connection must be for the same type of database as this and this must be the latest migration applied to the database.
Source§

impl MigrationMut for FsMigration

Source§

fn set_migration_from(&mut self, prev: Option<String>) -> Result<(), Error>

Set the migration before this one.

Source§

fn add_modified_table(&mut self, table: &ATable) -> Result<(), Error>

Adds an abstract table to the migration. The table state should represent the expected state after the migration has been applied. It is expected that all tables will be added to the migration in this fashion, if they were modified in this migration.
Source§

fn add_unmodified_table( &mut self, table: &ATable, from_migration_name: &str, ) -> Result<(), Error>

Marks a table as not modified in this migration. Use instead of add_modified_table.
Source§

fn delete_table(&mut self, table: &str) -> Result<(), Error>

Delete the table with the given name. Note that simply deleting a table in code does not work – it will remain with its last known schema unless explicitly deleted. See also the butane cli command butane delete table <TABLE>.
Source§

fn add_sql( &mut self, backend_name: &str, up_sql: &str, down_sql: &str, ) -> Result<(), Error>

Set the backend-specific commands to apply/undo this migration.
Source§

fn remove_sql(&mut self, backend_name: &str) -> Result<(), Error>

Remove the backend-specific commands to apply/undo this migration.
Source§

fn add_type( &mut self, key: TypeKey, sqltype: DeferredSqlType, ) -> Result<(), Error>

Adds a TypeKey -> SqlType mapping. Only meaningful on the special current migration.
Source§

impl PartialEq for FsMigration

Source§

fn eq(&self, other: &FsMigration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for FsMigration

Auto Trait Implementations§

Blanket Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> Fake for T

Source§

fn fake<U>(&self) -> U
where Self: FakeBase<U>,

Source§

fn fake_with_rng<U, R>(&self, rng: &mut R) -> U
where R: Rng + ?Sized, Self: FakeBase<U>,

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,