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

Doctrine Dbal Timestamp Type Laravel Package

marktopper/doctrine-dbal-timestamp-type

A Doctrine DBAL custom type that maps SQL TIMESTAMP columns to PHP DateTime objects, making timestamp columns work correctly with Laravel's Doctrine integration. Simple to register and use in your entity mappings.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Narrow DBAL type adapter that adds a timestamp type mapping. It fits applications already using Doctrine ORM/DBAL. In a Laravel codebase, value is conditional: useful only where Doctrine/DBAL is present, or where DBAL schema introspection/type mapping is used. Pure Eloquent applications should treat it as unnecessary because Laravel’s schema builder and Carbon casts already handle timestamp columns.
  • Integration feasibility: Technically straightforward: add the Composer dependency, register the custom DBAL type during bootstrap, and map entity columns to timestamp. The effort is low, but correctness depends on proving compatibility with the project’s DBAL major version, PHP version, and target database platforms.
  • Technical risk: Medium. The package is small and focused, but has modest adoption, a single-maintainer profile, and a last release date of February 2023. Primary risks are DBAL major-version incompatibility, PHP runtime incompatibility, global type-registry side effects, timezone/precision semantics differences across databases, and schema-diff churn if existing columns are remapped. Security risk is low because the package is a type mapping adapter, but it still requires dependency and source review.
  • Key questions: Is Doctrine ORM/DBAL actually in the stack, or is this only an Eloquent application? Which DBAL and PHP versions must be supported? Which database platforms and timestamp precisions/timezones are required? Do built-in DBAL datetime types already satisfy the requirement? Does the package round-trip cleanly through Doctrine schema tooling against existing schemas? Who owns the fork/patch path if the package is abandoned or breaks on a DBAL upgrade?

Integration Approach

  • Stack fit: Conditionally fit. Adopt for Doctrine-centric Laravel modules, standalone PHP services, or Laravel applications using a Doctrine integration layer. Do not introduce it into an otherwise pure Eloquent stack unless a concrete DBAL timestamp-mapping gap exists.
  • Migration path: Treat this as metadata/type-mapping work, not a data migration. Add the dependency, register the type before Doctrine initializes, update entity mappings from existing datetime/string mappings to timestamp, and run schema validation against a known-good database baseline. Avoid blind schema:update runs; remapping existing columns can produce unintended DDL.
  • Compatibility: Pin the package, DBAL, and PHP versions explicitly. Validate on every supported database platform, especially MySQL, PostgreSQL, SQLite, and SQL Server if applicable. Confirm the DBAL type name does not conflict with application or framework registrations, and verify behavior under config caching and long-running processes.
  • Sequencing: Start with a version/compatibility spike and a single bounded entity/table proof of concept. Add CI checks for Doctrine schema validation and platform-specific integration tests. Roll out to one module before broader adoption. Maintain a fallback plan: use built-in DBAL datetime types where acceptable, or vendor/fork the small type class if upstream maintenance stalls.

Operational Impact

  • Maintenance: Low code surface but elevated stewardship burden relative to a first-party dependency. Assign an internal owner, monitor DBAL/PHP upgrades, run dependency and security scans, and periodically reassess whether the package is still needed. The 2023 release cadence means compatibility fixes may not arrive upstream.
  • Support: Community-only, MIT-licensed, no SLA. Troubleshooting will rely on source inspection, Doctrine documentation, and internal tests. Teams without Doctrine experience will need to understand DBAL type registration and schema tooling behavior.
  • Scaling: Runtime impact is negligible; type mapping is not a hot-path concern. Operational scaling concerns are process-level: ensure type registration occurs once and consistently across web workers, queue workers, scheduled jobs, and Octane/long-running runtimes.
  • Failure modes: Unregistered type errors at ORM bootstrap; DBAL/PHP version incompatibility; timezone or precision mismatch between application expectations and database storage; schema-diff drift or accidental column alterations; platform-specific timestamp range/behavior differences; stale registrations in cached or long-lived processes. Mitigate with schema-validation tests, per-platform integration tests, and explicit rollback procedures.
  • Ramp-up: Low for teams already fluent in Doctrine DBAL/ORM; moderate for Laravel-only teams because the package sits below Eloquent’s normal abstraction. Documentation is thin, so internal onboarding should include a short type-registration runbook, supported-version matrix, and examples for entity mapping and schema validation.
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