{"adoption": {"forks": 419, "observed_at": "2026-08-28T04:06:13.669640+00:00", "stars": 2102}, "canonical_url": "https://ross.abutalabs.com/products/beberlei-doctrineextensions", "card": {"archived": false, "artifact_type": "library", "description": "A set of Doctrine 2 extensions", "domain": ["databases", "developer-tools", "web-development"], "enriched": true, "function": ["orm", "database", "developer-tools"], "health_score": 25, "homepage": "http://www.doctrine-project.org", "language": "PHP", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["beberlei/DoctrineExtensions"], "name": "beberlei/DoctrineExtensions", "platform": ["php", "cross-platform"], "pushed_at": "2024-09-26T07:43:51+00:00", "repo": "beberlei/DoctrineExtensions", "stars": 2102, "tags": ["doctrine", "dql", "sql-functions", "mysql", "postgresql", "sqlite", "oracle", "database-extensions"], "topics": [], "urls": [], "use_cases": ["use MySQL DATE_FORMAT or UNIX_TIMESTAMP inside DQL queries", "call PostgreSQL DATE_TRUNC or STRING_AGG from Doctrine ORM", "register JSON_CONTAINS and other JSON functions in DQL", "make DQL queries portable across MySQL, PostgreSQL, SQLite, and Oracle", "use window functions like LEAD, LAG, and OVER in Doctrine queries", "add REGEXP and string functions like SUBSTRING_INDEX to DQL"], "what_it_is": "A collection of extensions for Doctrine 2 that register many vendor-specific SQL functions (date, string, math, JSON, aggregate, and more) as DQL functions. It supports MySQL, Oracle, PostgreSQL, and SQLite so DQL queries can use native database functions portably.", "when_to_avoid": ["you don't use Doctrine ORM or DBAL", "you prefer writing native SQL queries directly", "you need a function not included in the extension's supported list"], "when_to_choose": ["you use Doctrine ORM/DBAL and need vendor-specific SQL functions in DQL", "you want to avoid writing raw SQL just to use a date or string function", "you need cross-database DQL with database-specific function support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/beberlei-doctrineextensions", "repo": "beberlei/DoctrineExtensions", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.669640+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:16.013811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6be920babb2bf5ea7c1b4611b085a1ca69e7d86be120414d8601a20a05cd73dd", "fetched_at": "2026-08-28T04:06:13.669640+00:00", "kind": "readme", "missing": false, "url": "https://github.com/beberlei/DoctrineExtensions"}, {"content_hash": "6d7d6496fc0f95f462b2c87726f8f21e4a09f8b7214167790d0674a3d379958b", "fetched_at": "2026-08-29T10:34:27.194602+00:00", "kind": "homepage", "missing": false, "url": "http://www.doctrine-project.org"}, {"content_hash": "0cf13450132c033f097731d03f5111c0b92d3c482c98a6d21c449e4606b01d02", "fetched_at": "2026-08-29T10:34:27.198103+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/projects/doctrine-orm/en/current/tutorials/getting-started.html"}, {"content_hash": "17c289011ed0ccaf80fc762ffd0762d2f1a5f4274da1de507092e7f1912fbf0a", "fetched_at": "2026-08-29T10:34:27.201788+00:00", "kind": "site_page", "missing": false, "url": "https://www.doctrine-project.org/2024/10/14/doctrine-core-team-meetup-2024.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6030, "days_push": 706, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}