Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spring Boot kann das Datenbankschema nicht automatisch erstellen

Es gibt mehrere mögliche Ursachen:

  1. Ihre Entitätsklassen befinden sich im selben oder in einem relativen Unterpaket, in dem Sie Ihre Klasse mit @EnableAutoConfiguration. haben Wenn nicht, sieht Ihre Spring-App sie nicht und erstellt daher nichts in db

  2. Überprüfen Sie Ihre Konfiguration, es scheint, dass Sie einige spezielle Optionen für den Ruhezustand verwenden, versuchen Sie, sie zu ersetzen durch:

    spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
    spring.jpa.hibernate.ddl-auto=update
    spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test
    spring.datasource.username=test
    spring.datasource.password=
    

**Beachten Sie, dass das manuelle Laden der Treiberklasse unnötig ist, da sie automatisch registriert wird, also stören Sie sich nicht damit

  1. Ihre application.properties muss sich in src/main/resources befinden Ordner.

Wenn Sie den Dialekt nicht korrekt angegeben haben, könnte es versuchen, standardmäßig zusammen mit der Boot-In-Memory-Datenbank gebündelt zu werden, und (wie bei mir) konnte ich sehen, dass es versucht, eine Verbindung zum lokalen HSQL herzustellen (siehe Konsolenausgabe) Instanz und scheitern beim Aktualisieren des Schemas.