我收到此錯誤消息是因為僅包含 liquibase 作為依賴項並啟用它(默認)。
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>4.5.0</version>
</dependency>
引起:liquibase.exception.DatabaseException: ORA-01031: 權限不足 [失敗的 SQL: (1031) CREATE TABLE MYSCHEMA.DATABASECHANGELOGLOCK (ID INTEGER NOT NULL, LOCKED NUMBER(1) NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR2()約束 PK_DATABASECHANGELOGLOCK 主鍵 (ID))]
我有一個通過 Kerberos 身份驗證連接到 Oracle DB 的現有功能 DataSource & HikariConfig。我對它如何嘗試執行 sql 代碼感到困惑......我沒有@LiquibaseDataSource
為此聲明任何甚至更改日誌。
如果您使用的是 Spring Boot,只需添加 liquibase 依賴項 SB 就會使用您現有的數據源自動配置它。在空數據庫 Liquibase bean 上第一次啟動應用程序時,將嘗試執行它的兩個實用程序表的創建:
DATABASECHANGELOGLOCK
和 DATABASECHANGELOG
因此,來自您的主要數據源的用戶被 Liquibase 選中,並且可能沒有足夠的權限在此架構上創建表。這就是您看到此消息的原因。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加