Feature/forge multi tenant#3
Merged
Merged
Conversation
Owner
vedavith
commented
Jun 4, 2026
- Full multi-tenancy: shared (tenant_id column) and database (DB-per-tenant) strategies
- TenantContext, TenantConnectionResolver, TenantProvisioner, TenantService, HeaderTenantResolver
- BaseRepository with automatic tenant scoping and CRUD
- HTTP layer: Request, Response, MiddlewareInterface
- Config-driven code generator: entity / repository / SQL migration via bin/ef
- Batch-tracked MigrationRunner with rollback
- 142 tests at 83.99% line coverage — PHPUnit 13 + Mockery
- CI: conditional PCOV coverage (PR + main only), strict PHPUnit flags, 80% gate, Codecov upload
- Dependencies bumped: PHP ^8.4, symfony/* ^8.1, phpunit ^13, mockery ^1.6
…itory generators, entity drivers, and tests.
… and repository integration. Add entity/repository generator refactor.
…support; introduce CLI commands and database migration management.
… repository updates; add TenantService and CLI for tenant management.
…lti-tenant features and provisioning processes
…ation, and usage instructions
…e tenant resolution exception handling.
- Add 142-test PHPUnit suite with Mockery covering all src layers (Config, Generator, Tenant, Database, Http, Repository, Console) - Achieve 83.99% line coverage; CI enforces 80% minimum via clover.xml gate - Add GitHub Actions workflow with PCOV coverage, Codecov upload, and coverage threshold step - Upgrade dependencies to PHP ^8.4, symfony/* ^8.1, phpunit ^13.0, mockery ^1.6 - Add Http layer: Request, Response, MiddlewareInterface - Add CLAUDE.md with architecture docs and CLI reference - Add phpunit.xml and update .gitignore (exclude CLAUDE.md, .claude, coverage, app, database) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lags. - Coverage (PCOV) only enabled on PR and push to main via LOG_COVERAGE env var; all other runs use --no-coverage for speed - Add --fail-on-warning, --fail-on-risky, --fail-on-notice, --fail-on-deprecation and matching display flags to PHPUnit invocation - Gate 80% check and Codecov upload behind LOG_COVERAGE condition - Change Codecov fail_ci_if_error to true - Load coverage driver conditionally in setup-php step Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment Thanks for integrating Codecov - We've got you covered ☂️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.