diff --git a/python/nav/models/sql/changes/sc.05.12.0002.sql b/python/nav/models/sql/changes/sc.05.12.0002.sql new file mode 100644 index 0000000000..612b53f10d --- /dev/null +++ b/python/nav/models/sql/changes/sc.05.12.0002.sql @@ -0,0 +1,21 @@ +-- This migration is to ensure that for accounts that have more than one +-- default dashboard we set is_default to false for all except for one + +UPDATE account_dashboard +SET is_default = FALSE +WHERE id NOT IN ( + -- This part finds the lowest id of the default dashboards for each + -- account_id + SELECT MIN(id) + FROM account_dashboard + WHERE is_default = TRUE + GROUP BY account_id +) +AND account_id IN ( + -- This part finds all account_ids that have more than one default dashboard + SELECT account_id + FROM account_dashboard + WHERE is_default = TRUE + GROUP BY account_id + HAVING COUNT(account_id) > 1 +) \ No newline at end of file