我嘗試從舊的PostgreSQL(9.3)將數據庫從Bucardo遷移到新的PostgreSQL(9.5,9.6)。如何正確添加Liquibase的databasechangelog(PostgreSQL)的主鍵?
Bucardo用於遷移的主鍵。
我有許多數據庫與public.databasechangelog沒有主鍵。 如何正確添加用於Liquibase的databasechangelog(PostgreSQL)的主鍵?
更新回答: 我可以通過SQL添加主鍵,但可能是Liquibase有添加主鍵的XML設置?
通過SQL安全地將主鍵添加到public.databasechangelog?
https://www.postgresql.org/docs/current/static/sql-altertable .html –
Liquibase [有意不使用主鍵](https://liquibase.jira.com/browse/CORE-1909)。但邊緣案例(在bug中提到)似乎並不適用於PostgreSQL(只要您沒有**真正的**大遷移ID - 即大於1GB)。 – pozs
@pozs:'id'限制爲255個字符。最大總數這三列的大小是765個字符 - 現代DBMS應該能夠索引的東西。 PK的不存在確實是由某些DBMS的限制造成的:http://forum.liquibase.org/topic/why-does-databasechangelog-not-have-a-primary-key(Liquibase的舊版本實際上在該表上有一個主鍵) –