0
我想知道是否有辦法在jOOQ中以不可知的方式禁用不同數據庫中的數據庫約束。例如,禁用在MySQL和PostgreSQL外鍵約束不同頗多:jOOQ:與數據庫無關的禁用約束的方法
MySQL的
SET FOREIGN_KEY_CHECKS=0;
PostgreSQL的
實際上沒有太確定,但可能涉及禁用觸發器。
我想知道是否有辦法在jOOQ中以不可知的方式禁用不同數據庫中的數據庫約束。例如,禁用在MySQL和PostgreSQL外鍵約束不同頗多:jOOQ:與數據庫無關的禁用約束的方法
MySQL的
SET FOREIGN_KEY_CHECKS=0;
PostgreSQL的
實際上沒有太確定,但可能涉及禁用觸發器。
這種功能非常特定於供應商 - 很難在這樣的功能上實現標準化。
但是,因爲你只在兩個數據庫尋求支持,你可以滾你自己:
void disableForeignKeys(Configuration configuration) {
switch (configuration.family()) {
case MYSQL:
DSL.using(configuration).execute("set foreign_key_checks=0");
break;
case POSTGRES:
...
}
}
嗨盧卡斯,我想盡可能多。感謝您的澄清。 –