pub trait Migration {
// Required methods
fn name(&self) -> &'static str;
fn up<'a>(
&'a self,
pool: &'a dyn AsyncPoolTrait<Connection>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'a>>;
fn down<'a>(
&'a self,
pool: &'a dyn AsyncPoolTrait<Connection>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'a>>;
}