Нет, вам не нужно указывать bean-компонент entityMangerFactory. Миграционные пути не должны быть бобами.
Это пример конфигурации для миграций с пролета:
@Configuration
public class FlywayInitializer {
@Autowired
private DataSource dataSource;
@PostConstruct()
private void startMigrations() {
Flyway flyway = new Flyway();
flyway.setDataSource(dataSource);
flyway.setLocations("db/migrations");
flyway.setSchemas("public");
flyway.setSqlMigrationPrefix("H");
flyway.migrate();
}
}
Мы начинаем с создания нового объекта Flyway. javax.Sql.DataSource
- единственный боб, который нужен для полета. Flyway нужны данные из этого компонента, чтобы он мог подключиться к базе данных.
Затем мы настраиваем места, в которых расположены миграции, схемы для flyway (первая схема - это та, где будет создана таблица schema_version
) и префикс миграции для миграций (например, мои миграции выглядят так: H1__init_db.sql ).
Существует также множество других свойств, которые можно установить. Как только вы закончите с настройкой объекта flyway, вы вызываете метод migrate
для выполнения миграций.