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

Laravel Models Generator Laravel Package

axn/laravel-models-generator

Generate Eloquent models directly from your existing database schema. Laravel Models Generator inspects your tables and creates ready-to-use model classes with fillable fields, relationships, and more, making it easy to bootstrap new projects or reverse-engineer legacy databases.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Unchanged in kind. axn/laravel-models-generator remains a dev-time scaffolding tool that introspects a database schema and emits Eloquent models — outside the production request path, best understood as a one-shot or occasional codegen utility. 8.0.0 does not alter the architectural posture; it is a dependency-floor release, not a feature release.

Integration feasibility. Still Composer-only, still require-dev, still no runtime coupling. What changed is the floor: Laravel 12+ and Doctrine DBAL 4+ only. Any target on Laravel 10 or 11 is now hard-excluded at the Composer level. Feasibility remains high mechanically on a Laravel 12 estate and drops to zero (absent a fork or an older pin) everywhere else.

Technical risk. The prior assessment's headline risk — abandonment — is materially contradicted by this release. A repository that ships a deliberate major-version bump dropping EOL framework support is being maintained; the "abandonment risk has already materialized / no upstream to receive fixes for version drift" conclusion was wrong or based on stale repository metadata. That is the single most important correction here, because it was the stated basis for the "throwaway only" verdict. The remaining risk profile is unchanged and still real:

  • Active but thin. The release cadence is a positive signal; 23 stars and 0 dependents still mean a very small maintainer base and no community triage. Continuity risk is now single-maintainer, not already-abandoned. Different problem, lower severity, not eliminated.
  • Version-floor churn. A major bump that drops a Laravel version is exactly the upgrade-blocking event the prior assessment warned about — it just resolves in the favorable direction (the tool tracks Laravel) rather than the unfavorable one (the tool lags). Expect to re-pin on our framework cadence; budget for it rather than being surprised by it.
  • Schema-introspection fragility. Untouched by this release. DBAL 4 raises the baseline of the introspection layer, which is mildly reassuring, but type-map correctness for enums, JSON/JSONB, spatial, unsigned bigints, and composite keys still requires verification — the release notes claim no coverage changes.
  • Overwrite semantics. Still unaddressed in the notes. Unverified, still the highest-probability foot-gun.
  • No functional delta. 8.0.0 is two dependency-floor changes and nothing else. It resolves none of the open questions below.

Key questions for the maintainer/spike owner. Items 1 and 6 from the prior list partially resolve; the rest stand.

  1. Which Laravel/PHP versions are supported → Resolved: Laravel 12+, DBAL 4+. Confirm minimum PHP on the 12 matrix and whether DBAL 4 constrains our other dependencies.
  2. Which database engines and column types are covered, and is failure behavior on unknown types skip, warn, or guess? (Open — and DBAL 4's API changes make re-verification necessary, not optional.)
  3. Does regeneration preserve existing files, and is namespace/path/output configurable? (Open.)
  4. How are relationships inferred — FK constraints only or heuristics? Pivots and polymorphic relations? (Open.)
  5. Is generated output intended to be hand-owned afterward? (Assumed yes; still unconfirmed in writing.)
  6. Transitive footprint / require leakage → confirm DBAL 4 lands as a dev dependency and does not collide with any existing DBAL pin in the estate.
  7. New: What is the maintainer's stated support policy and expected cadence for major bumps? A published policy would convert the continuity risk from unknown to manageable.

Integration Approach

Stack fit. Unchanged: suited to database-first / legacy-schema onboarding where hand-writing 40–150 models is the actual cost driver. Poor fit for greenfield migration-first projects and for teams with heavy custom model behavior. The new constraint narrows the eligible population to Laravel 12 teams only — on a mixed-version estate, this tool is usable in exactly one place.

Migration path. Softened from the prior "disposable, remove immediately" stance, but only modestly:

  1. Install as require-dev on a short-lived branch.
  2. Point at a schema snapshot, not a live shared DB, for deterministic output.
  3. Generate, then immediately review and hand-own the output — commit the models, not the tool.
  4. Either remove from composer.json once generation is complete, or keep it pinned in require-dev with an owning engineer and a revisit-at-each-major note. Keeping it is now defensible because upstream is shipping; it is not yet defensible to leave it unpinned and unowned.

Forking remains the right answer only for repeat generation with custom type-map patches — not as a default response to abandonment, which is no longer the situation.

Compatibility. Re-verify in this order, because the ordering changed: (1) confirm the target app is on Laravel 12 — if not, stop, the decision is made; (2) Composer resolve with DBAL 4 against our existing pins, watching for DBAL conflicts in other dev tooling; (3) generation against a representative schema including enums, JSON, nullable FKs, and at least one pivot table; (4) diff review of casts and relationship names. Steps 3–4 are now more important than step 2, since the release notes suggest the generator logic itself is unchanged.

Sequencing. (a) Half-day spike on 5–10 tables including the awkward types; (b) go/no-go on output quality; (c) full-schema generation on a branch with a named diff reviewer; (d) decide keep-pinned vs. remove vs. fork based on whether schema churn is expected; (e) if keeping, pin exactly and record the owner. Still days, not weeks. Still do not sequence ahead of schema stabilization.

Operational Impact

Maintenance. Revised from "zero upstream, non-zero internal" to low upstream, non-zero internal. Upstream is active and just demonstrated it will track Laravel majors, which removes the "it will silently block our next upgrade and nobody will know why" failure mode — provided we pin and revisit deliberately rather than drifting. Internal cost is unchanged: reviewing generated output and possibly patching type maps. The realistic residual risk is single-maintainer discontinuity, mitigated by pinning, not by process.

Support. Still no vendor, no SLA, no issue-triage guarantee. The difference is that a defect now can be fixed upstream, which makes a bug report a viable escalation path where previously there was none. Still correct to keep it out of CI gates and build pipelines — not because it is abandoned, but because it is a single-maintainer dev tool whose output requires human review anyway.

Scaling. No runtime surface; no latency, memory, queue, or cache impact. Organizational scaling concerns stand: generate from one canonical schema dump, review as a normal PR, and expect review — not generation — to be the bottleneck on 100+ table schemas. The new version floor adds a mild estate-scaling wrinkle: on a mixed Laravel estate, only the 12.x services can use it, so model-generation conventions will diverge across services unless the fork path is taken.

Failure modes.

  • Silent type mis-mapping — still highest severity; unreviewed casts and $fillable produce bugs far from the generator. Mitigate by reviewing every non-trivial table.
  • Relationship mis-inference — wrong or missing hasMany/belongsTo, mishandled pivots and polymorphic relations.
  • Clobbering — regeneration overwriting hand-edited models; enforce single-generation or backup discipline.
  • Version-floor lockout — new/changed: not a Composer conflict but a hard exclusion; the tool simply will not install below Laravel 12, and the next major may exclude 12. Track it as a scheduled re-pin, not a surprise.
  • Non-deterministic output — differences against a live DB; snapshot the schema.
  • Scope creep — teams shipping generated models as authoritative. Output is a draft, not a deliverable.

Ramp-up. Unchanged and low: an Artisan command and a Composer install; a mid-level Laravel developer is productive within an hour. The real ramp-up remains review discipline — state before the spike that generated models require human sign-off on casts, fillables, and relations, or the review will be skipped and the failure modes above will land in production.

Verdict. Revised. 8.0.0 overturns the abandonment finding that drove the prior "throwaway only" verdict: this is a maintained, narrow, dev-only scaffold that tracks Laravel majors. Adopt it for a specific database-first task on Laravel 12, as a require-dev dependency that is either removed after generation or pinned with a named owner and a revisit-at-each-major note. Mandatory output review stands. The 23-star/0-dependent profile keeps this a small-bet tool rather than an endorsed standard, and the release adds no functional value — if the spike is already done on 7.x, there is no reason to move to 8.0.0 unless and until the app moves to Laravel 12.

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