return type should be `IFuture<MigrationData>`