MemberJunction / MemberJunction/MJ
fix(CodeGen): CodeGen should emit GRANT EXECUTE when EntityPermission write flags are enabled
- Dominant language
- TSQL
- Stars
- 29
- Forks
- 6
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 323
Description
When `CanCreate`, `CanUpdate`, or `CanDelete` are set to `true` on an `EntityPermission` record, CodeGen generates the corresponding SPs (`spCreate*`, `spUpdate*`, `spDelete*`) but does NOT emit `GRANT EXECUTE` statements for those SPs to the relevant database roles (`cdp_Developer`, `cdp_Integration`, etc.).
Discovered during 5.14 → 5.15 upgrade when `mj sync push` failed with `The EXECUTE permission was denied on the object 'spCreateDatasetItem'`. Root cause: `MJ: Datasets` and `MJ: Dataset Items` had `CanCreate=0` in the baseline. When permissions were corrected in migration `V202603221400`, no `GRANT EXECUTE` was emitted because CodeGen wasn't re-run. A manual migration `V202603221159` had to patch the missing grants.
**Expected:** When CodeGen sees `CanCreate=1` for role X, emit `GRANT EXECUTE ON spCreate TO ` (same for Update/Delete).
Contributor guide
Assessment
This issue has not been assessed yet.