PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

BeanCreationException:'flywayInitializer' नाम से बीन बनाने में त्रुटि

ऐसा लगता है कि डेटाबेस के साथ परीक्षण कंटेनर सफलतापूर्वक प्रारंभ हो गया है, इसलिए कोई समस्या नहीं है, आपको एक खाली डेटाबेस मिल रहा है।

फिर आप फ्लाईवे चलाने का प्रयास करते हैं और यह विफल हो जाता है। स्प्रिंग बूट में फ्लाईवे स्प्रिंग एप्लिकेशन संदर्भ के प्रारंभ के दौरान काम करता है, इसलिए वास्तविक माइग्रेशन चलता है जबकि एप्लिकेशन संदर्भ प्रारंभ हो जाता है, इसलिए माइग्रेशन विफलता वसंत विफलता की तरह दिखती है।

हालांकि, कारण लॉग किया गया है:माइग्रेशन फ़ाइल में अमान्य सामग्री है:

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)
)

यह GENERATED BY असमर्थित है।

क्यों? संभवतः आपकी डॉकटर छवि में RDBMS का संस्करण शामिल है जो इस सिंटैक्स का समर्थन नहीं करता है। तो यह डीबी से अलग है जिसे आप स्थानीय वातावरण में डॉकटर के बिना उपयोग करते हैं।

किसी भी मामले में यह डॉकटर, स्प्रिंग या फ्लाईवे के बारे में नहीं है बल्कि डीबी और माइग्रेशन कोड के बारे में है।

संकल्प के संदर्भ में, मैं सीधे डीबी की डॉकर छवि को चलाने का सुझाव देता हूं (जावा, टेस्टकंटेनर और फ्लाईवे के बिना)। जब यह चलता है, तो बस इस माइग्रेशन को "मैन्युअल रूप से" pgadmin या कुछ में चलाएं। आपसे वही त्रुटि देखने की अपेक्षा की जाती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या JDBC युक्ति '?' को रोकती है? एक ऑपरेटर के रूप में इस्तेमाल होने से (उद्धरण के बाहर)?

  2. पोर्ट 5432 अवरुद्ध होने पर pg_dump दूरस्थ सर्वर से डेटाबेस पोस्टग्रेज करता है

  3. PostgreSQL के लिए एक प्रदर्शन धोखा पत्र

  4. Postgres में टाइमस्टैम्प को 5 मिनट तक छोटा करने का सबसे तेज़ तरीका क्या है?

  5. कनेक्शन अस्वीकृत (PGError) (postgresql और रेल)