# Trait ethcore_util::migration::Migration [−] [src]

    pub trait Migration: 'static {
        fn columns(&self) -> Option<u32>;
        fn version(&self) -> u32;
        fn migrate(&mut self,
               source: Arc<Database>,
               config: &Config,
               destination: &mut Database,
               col: Option<u32>)
               -> Result<(), Error>;

        fn pre_columns(&self) -> Option<u32> { ... }
    }

A generalized migration from the given db to a destination db.

## Required Methods

### `fn columns(&self) -> Option<u32>`

Number of columns in database after the migration.

### `fn version(&self) -> u32`

Version of the database after the migration.

### `fn migrate(&mut self,
source: Arc<Database>,
config: &Config,
destination: &mut Database,
col: Option<u32>)
-> Result<(), Error>`

Migrate a source to a destination.

## Provided Methods

### `fn pre_columns(&self) -> Option<u32>`

Number of columns in the database before the migration.

## Implementors

- `impl<T: SimpleMigration> Migration for T`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)