macro_rules! migration {
    ($name:ident, $id:expr, [ $( $dependency_id:expr ),* $(,)* ], $description:expr) => { ... };
}
Expand description

Create a trivial implementation of Migration for a type.

Example

#[macro_use]
extern crate schemer;
extern crate uuid;

use schemer::Migration;

struct ParentMigration;
migration!(
    ParentMigration,
    "bc960dc8-0e4a-4182-a62a-8e776d1e2b30",
    [],
    "Parent migration in a DAG");

struct ChildMigration;
migration!(
    ChildMigration,
    "4885e8ab-dafa-4d76-a565-2dee8b04ef60",
    ["bc960dc8-0e4a-4182-a62a-8e776d1e2b30",],
    "Child migration in a DAG");

fn main() {
    let parent = ParentMigration;
    let child = ChildMigration;

    assert!(child.dependencies().contains(&parent.id()));
}