fix(pd): PdSubjectRequest::$connection = pgsql_supplier (hole #4 prod fix)
crm_app_user (default pgsql connection) не имеет INSERT/UPDATE прав на pd_subject_requests — это SaaS-уровневая таблица. На проде Eloquent PdSubjectRequest::create() падал с Insufficient privilege. Фикс: protected $connection = 'pgsql_supplier' (BYPASSRLS, crm_supplier_worker) — симметрично существующему контроллеру и сервису. Альтернатива (GRANT для crm_app_user) размывает границу tenant-уровня (db/00_create_roles.sql). Smoke прод: create через tinker → row.id=1, deadline_at +30 дней auto-trigger сработал. Cleanup row выполнен. Tests: 12/12 passed (67 assertions, 2.5s).
This commit is contained in:
@@ -32,6 +32,14 @@ use Illuminate\Support\Facades\DB;
|
||||
*/
|
||||
class PdSubjectRequest extends Model
|
||||
{
|
||||
/**
|
||||
* SaaS-уровневая таблица — crm_app_user (default) не имеет INSERT/UPDATE прав.
|
||||
* Используем pgsql_supplier (BYPASSRLS / crm_supplier_worker), который имеет
|
||||
* полный доступ. Альтернатива — GRANT для crm_app_user, но это размывает
|
||||
* границу tenant-уровня (см. db/00_create_roles.sql).
|
||||
*/
|
||||
protected $connection = 'pgsql_supplier';
|
||||
|
||||
protected $table = 'pd_subject_requests';
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
Reference in New Issue
Block a user