feat(B2): add tenant model + migrations 035/036 + RLS policies

Migration 035: tenants table with 'Schaeffler' default seed.
Migration 036: tenant_id FK on all tables, RLS policies, backfill.
New domains/tenants/ with CRUD router (admin only).
All domain models extended with tenant_id FK.
core/database.py: get_db_for_tenant with RLS context setter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 16:30:41 +01:00
parent b87df4a3e5
commit 251dd703ed
19 changed files with 537 additions and 7 deletions
+2 -1
View File
@@ -3,6 +3,7 @@
This file ensures that `from app.models import X` continues to work.
The canonical definitions live in app/domains/*/models.py.
"""
from app.domains.tenants.models import Tenant
from app.domains.auth.models import User
from app.domains.imports.models import Template
from app.domains.products.models import CadFile, Product
@@ -16,7 +17,7 @@ from app.domains.materials.models import Material, MaterialAlias
from app.models.system_setting import SystemSetting
__all__ = [
"User", "Template", "CadFile", "Product", "Order", "OrderItem", "OrderLine",
"Tenant", "User", "Template", "CadFile", "Product", "Order", "OrderItem", "OrderLine",
"AuditLog", "PricingTier", "OutputType", "RenderTemplate", "ProductRenderPosition",
"Material", "MaterialAlias", "SystemSetting",
]