PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

BeanCreationException:Błąd podczas tworzenia fasoli o nazwie „flywayInitializer”

Wygląda na to, że kontener testowy z bazą danych został pomyślnie uruchomiony, więc nie ma problemu, otrzymujesz pustą bazę danych.

Następnie próbujesz uruchomić flyway i to się nie udaje. Flyway w spring boot działa podczas inicjalizacji wiosennego kontekstu aplikacji, więc rzeczywista migracja jest wykonywana podczas inicjowania kontekstu aplikacji, więc awaria migracji wygląda jak awaria wiosny.

Powód jest jednak rejestrowany:plik migracji ma nieprawidłową zawartość:

Migration V1__initial_user.sql failed
-------------------------------------
SQL State  : 42601
Error Code : 0
Message    : ERROR: syntax error at or near "GENERATED"
 Position: 45
Location   : db/migration/V1__initial_user.sql (/Users/villemossip/Desktop/GRP/GRP- 
SAS/application/build/resources/main/db/migration/V1__initial_user.sql)
Line       : 36
Statement  : CREATE TABLE revinfo
(
   rev      INTEGER GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 ),
   revtstmp BIGINT,
   PRIMARY KEY (rev)
)

Ten GENERATED BY nie jest obsługiwany.

Czemu? Prawdopodobnie twój obraz dokowany zawiera wersję RDBMS, która nie obsługuje tej składni. Różni się więc od bazy danych, której używasz w środowisku lokalnym bez dokera.

W każdym razie nie chodzi o docker, spring czy flyway, ale o DB i kod migracji.

Jeśli chodzi o rozdzielczość, sugeruję bezpośrednie uruchomienie obrazu dockera DB (bez javy, testcontainerów i flywaya). Kiedy się uruchomi, po prostu uruchom tę migrację "ręcznie" w pgadminie lub czymś. Powinieneś zobaczyć ten sam błąd.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak odczytać wszystkie wiersze z ogromnego stołu?

  2. Jak zmienić kodowanie znaków w bazie danych postgres?

  3. Jak zainstalować PostgreSQL 12 w Fedorze 33?

  4. Buforowanie w PostgreSQL

  5. Jak zapewnić klientowi API 1 000 000 wyników z bazy danych?