fix: slug unique check skips soft-deleted + drop DB unique on companies.slug

DB-level unique blocks INSERT even when previous record is soft-deleted.
MariaDB doesn't support partial unique indexes, so we drop the constraint
and rely on Filament validation + provisioner check (whereNull deleted_at).
This commit is contained in:
2026-05-07 07:10:25 +00:00
parent 0620e08351
commit a48060ee71
2 changed files with 34 additions and 1 deletions
@@ -35,7 +35,10 @@ class CompanyResource extends Resource
->required()
->alphaDash()
->maxLength(30)
->unique(ignoreRecord: true)
->unique(
ignoreRecord: true,
modifyRuleUsing: fn ($rule) => $rule->whereNull('deleted_at'),
)
->dehydrateStateUsing(fn ($state) => strtolower((string) $state))
->extraInputAttributes(['style' => 'text-transform: lowercase'])
->helperText('Subdomeniul: <slug>.service.mir.md'),