• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-php / 30722663447
100%

Build:
DEFAULT BRANCH: 26.x
Ran 01 Aug 2026 11:08PM UTC
Jobs 1
Files 1176
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Aug 2026 11:06PM UTC coverage: 100.0%. Remained the same
30722663447

push

github

web-flow
[Orm] feat!: Configure the orm component with typed config contracts (#1086)

# Description

`Valkyrja\Application\Env\Env` is deprecated. It is one non-final class
that holds
about 120 `public const` env variables for every component at once. This
pull
request gives the Orm component its own typed config contracts. It also
converts
`OrmServiceProvider` to read those contracts.

`OrmServiceProvider` no longer reads `Env`. An application that sets an
`Env::ORM_*` constant loses that setting, so this change breaks a public
contract.

The Orm component read 26 env constants, more than any other component.
This is
the last of the fourteen components that read `Env`. After this pull
request the
framework does not read `Env` anywhere, and a later pull request removes
the
whole class.

## The shape

The component config holds only the component-wide setting, and each
connection
gets its own contract, its own default class, and its own container
binding:

- `OrmConfigContract` holds `defaultManager`.
- `OrmMysqlConfigContract` holds the nine `mysql*` settings.
- `OrmPgsqlConfigContract` holds the nine `pgsql*` settings.
- `OrmSqliteConfigContract` holds the seven `sqlite*` settings.

An application that connects to MySQL never constructs the PostgreSQL or
the
SQLite settings. The container resolves a connection config only when
something
asks for that connection.

Each property carries the connection name as a prefix, so one
application config
class can implement several of these contracts at once.
`tests/Tests/Fixtures/Orm/Data/OrmConfigFixture.php` implements all
four.

The PDO option arrays now live as defaults on each connection config.
The
provider previously read a nullable env constant and then applied the
defaults
with `??=`. The config holds those defaults directly, so the provider
reads one
property.

valkyrjaio/architecture#131 records this shape as a rule.

## A type correction

The provider annotated the MySQL strict mode as `non-empty-string|nul... (continued)

73 of 0 new or added lines in 0 files covered. (NaN%)

12724 of 12724 relevant lines covered (100.0%)

24.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30722663447.1 01 Aug 2026 11:08PM UTC 1176
100.0
GitHub Action Run
Source Files on build 30722663447
  • Tree
  • List 1176
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30722663447
  • 22072440 on github
  • Prev Build on 26.x (#30721199531)
  • Next Build on 26.x (#30722829087)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc