-- Per-User-Präferenz "Du"/"Sie" pro Kunde. Fehlender Eintrag fällt auf
-- den Kunden-Default `Customer.useInformalAddress` zurück. Composite-PK
-- (userId, customerId) verhindert doppelte Präferenzen pro Paar; Index
-- auf customerId hilft dem Cleanup, wenn der Kunde gelöscht wird.

CREATE TABLE IF NOT EXISTS `UserCustomerSalutation` (
  `userId`     INT NOT NULL,
  `customerId` INT NOT NULL,
  `preference` VARCHAR(191) NOT NULL,
  `createdAt`  DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  `updatedAt`  DATETIME(3) NOT NULL,
  PRIMARY KEY (`userId`, `customerId`),
  INDEX `UserCustomerSalutation_customerId_idx` (`customerId`),
  CONSTRAINT `UserCustomerSalutation_userId_fkey`
    FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `UserCustomerSalutation_customerId_fkey`
    FOREIGN KEY (`customerId`) REFERENCES `Customer`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
