Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Mssql Bundle Laravel Package

realestateconz/mssql-bundle

realestateconz/mssql-bundle is a Symfony bundle for Microsoft SQL Server integration, providing service configuration and DBAL/PDO wiring so applications can connect to MSSQL databases through Symfony's standard database tooling. It helps projects use MSSQL alongside Doctrine.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor for a Laravel estate. The first thing to flag is a category mismatch: realestateconz/mssql-bundle is a Symfony 2 bundle, not a Laravel package. It integrates Microsoft SQL Server into Symfony's Doctrine DBAL layer via a bundle service definition — an extension point that has no analogue in Laravel. Laravel has shipped a first-party sqlsrv driver in config/database.php since 5.x, so the capability this bundle provides is already covered natively by the framework. Adopting this package in a Laravel codebase would mean importing Symfony 2 bundle bootstrapping for zero functional gain.

Integration feasibility — effectively zero as-is; the underlying need is trivially feasible without it. Connecting Laravel to SQL Server requires only:

  • pdo_sqlsrv / sqlsrv PHP extensions plus the Microsoft ODBC Driver for SQL Server on the host.
  • A connections.sqlsrv block in config/database.php.

Everything the bundle does (driver registration, type mapping) is either duplicate or unused in a Laravel context. The requirement — SQL Server connectivity — is low-risk and well-trodden. The package is not a viable vehicle for it.

Technical risk — high, concentrated in abandonment. Signals are unambiguously negative:

  • Symfony 2 reached end-of-life in November 2018; the bundle's dependency constraints almost certainly preclude PHP 8.x.
  • Score 0, no stars, 0 dependents — no downstream validation, no implicit testing, no community fork pressure.
  • No indication of CI, test coverage, or security disclosure process.

The opportunity: 19.54 score is worth interpreting correctly: it reads as a signal that MSSQL-in-PHP is an underserved integration surface, not that this package is a good answer to it.

Key questions for the requesting team:

  1. Is the actual requirement Laravel→SQL Server, or interoperability with an existing Symfony 2 application that already uses this bundle?
  2. Which SQL Server target — on-prem 2016/2019/2022, or Azure SQL (which changes auth model, firewall, and encryption defaults)?
  3. What is the ODBC driver and PHP extension baseline on the deploy targets, and are those images Linux or Windows?
  4. Does the schema require types this bundle historically patched around (datetime2, uniqueidentifier, money, nvarchar(max))?
  5. Who owns the SQL Server instance, and is there a DBA partner for collation and index review?

Integration Approach

Stack fit. Non-fit for Laravel. Treat this repository as reference material only — useful for spotting edge cases the original authors hit (type coercion, LIMIT/OFFSET grammar, identity columns), not as a dependency. If the organization genuinely runs Symfony 2, the recommendation is still to migrate off both Symfony 2 and this bundle rather than extend the blast radius.

Migration path.

  1. Do not add realestateconz/mssql-bundle to composer.json. There is no supported path to a Laravel 10/11 install.
  2. Stand up the native route: Microsoft ODBC Driver 18 + pdo_sqlsrv, then declare the connection in config/database.php with 'driver' => 'sqlsrv'.
  3. If a Symfony/Doctrine component remains in the estate, use Doctrine DBAL's own pdo_sqlsrv driver — maintained upstream — instead of a wrapper bundle.
  4. Port any bespoke type handling into Laravel casts and query grammar overrides, where it is testable and reviewable, rather than into a third-party bundle.
  5. Only if the source system is a Symfony 2 app on this bundle: extract the schema contract and connection semantics as a documented spec, then reimplement on the target stack.

Compatibility. Validate a matrix before committing: PHP 8.2/8.3 × Laravel 10/11 × ODBC Driver 17 vs 18 × SQL Server 2019/2022/Azure SQL. ODBC 18 flips Encrypt to yes by default — a common and confusing breakage when moving from an older driver baseline. Confirm TrustServerCertificate policy with security before anyone sets it to true to make an error go away.

Sequencing.

  1. Confirm the requirement is real and not already met by an existing connection.
  2. Proof-of-concept: one read, one write, one transaction, one paginated query against a non-production instance.
  3. Driver and image hardening (extension pinned in the base image, not installed ad hoc at deploy).
  4. Type/collation conformance pass on the schema.
  5. Decommission any Symfony 2 artifact that prompted the request.

Operational Impact

Maintenance — total ownership transfer. An unmaintained, zero-dependent package means every future PHP upgrade, driver upgrade, or SQL Server version bump becomes your team's problem. We would be the maintainer of record for code we did not write and cannot get upstream fixes for. That is a poor trade for a capability the framework provides for free.

Support. No vendor, no active maintainers, no issue triage. Community support is nominal. Internal escalation would land on whichever engineer last touched the integration — a single-point-of-failure pattern.

Scaling. Constraints here are driver- and infrastructure-level, not package-level:

  • Connection pooling and MARS behavior under load; long-running transactions holding locks.
  • Azure SQL DTU/vCore limits and elastic pool sizing vs. on-prem hardware.
  • Read replicas / Availability Groups if read volume grows.
  • SQL Server licensing cost is frequently the largest line item in this decision and should be surfaced early — it often reframes "can we use SQL Server" as "should we."

Failure modes to plan for.

  • Driver/extension version drift between local, CI, and production images.
  • TLS/encryption failures after an ODBC driver upgrade (ODBC 18 default change).
  • Collation mismatches producing silent comparison and sort errors.
  • datetime2 precision loss and timezone ambiguity.
  • nvarchar vs varchar truncation and encoding bugs.
  • Deadlocks under concurrent write patterns ported unchanged from another database.
  • IDENTITY_INSERT and sequence handling during data loads.
  • Pagination divergence: OFFSET/FETCH requires an ORDER BY; unordered pagination will silently return unstable pages.

Ramp-up. Engineers need SQL Server and ODBC-specific knowledge (drivers, DSNs, collations, execution plans) — a real but bounded investment. Time spent learning this bundle is unrecoverable, because it transfers to nothing else in the stack. Ramp-up should be pointed at the native Laravel sqlsrv path and the DBA team, not at the package.

Recommendation. Do not adopt. The package is a legacy Symfony 2 artifact that is inapplicable to a Laravel stack and unmaintained in any case. Satisfy the underlying SQL Server requirement with Laravel's native sqlsrv driver plus a pinned ODBC baseline. Treat the opportunity score as evidence of a genuine MSSQL-in-PHP integration gap worth solving internally and well — not as justification for resurrecting this dependency.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource