tbl0605 / propel1-pervasive
Propel 1.x ORM fork with experimental Pervasive PSQL (Actian Zen) support. Requires PHP 7.4+
Requires
- php: >=7.4
- phing/phing: ^2.17
Requires (Dev)
- pear/pear: ^1.10
- pear/pear_packagefilemanager: dev-trunk
- phpunit/phpunit: ^9.6.21 || ^10.5 || ^11.0 || ^12.0 || ^13.0
This package is auto-updated.
Last update: 2026-06-20 16:52:27 UTC
README
Propel-pervasive (tbl0605/propel1-pervasive) is a maintained fork of Propel 1.x that adds a native pervasive database adapter for Pervasive PSQL (Actian Zen) to the Propel ORM: schema reverse-engineering, XML schema generation, and PHP model code generation over PDO/ODBC.
Use it when you need Propel with Pervasive SQL on PHP 7.4 through 8.5, with a modern test suite (PHPUnit 9 to 13). MySQL, PostgreSQL, SQLite, Oracle, and MSSQL remain supported as in upstream Propel 1.x.
Pervasive PSQL support in this fork
| Area | Status |
|---|---|
| Reverse-engineer an existing Pervasive schema to Propel XML | Working |
pervasive adapter, platform, and SQL builders |
Implemented |
| PHPUnit coverage for Pervasive | Missing |
| Other Pervasive workflows (migrations, runtime CRUD) | Untested but likely working |
Also includes pending fixes from the upstream Propel 1.x branch.
Features
Propel is an open-source Object-Relational Mapping (ORM) for PHP:
- Fast, IDE-friendly code generation via
propel-gen; - Flexible behaviors, validators, and migrations;
- PDO-based adapters for MySQL, SQLite, PostgreSQL, Oracle, MSSQL, and Pervasive PSQL (this fork);
- Background reading: Propel 1 documentation.
Installation
Composer (recommended)
composer require tbl0605/propel1-pervasive
The propel-gen CLI is available from vendor/bin/propel-gen (Composer creates a .bat wrapper on Windows automatically).
From source
git clone https://github.com/tbl0605/Propel-pervasive.git
cd Propel-pervasive
composer install
Legacy PEAR .tgz packages (propel_generator, propel_runtime) and a standalone propel_generator-*.phar (generator + runtime + Phing) are attached to GitHub releases when published. Run the PHAR with:
php propel_generator-X.Y.Z.phar om php propel_generator-X.Y.Z.phar /path/to/project insert-sql
Build the PHAR locally (requires PHP phar extension and a Phing 2.17 PHAR). Use the release tag or propel.version from generator/default.properties. Output defaults to dist/pear/:
php -d phar.readonly=0 test/tools/build_propel_gen_phar.php --version=X.Y.Z
For original Propel 1.x concepts (schemas, behaviors, migrations), the Propel 1 documentation remains useful background reading.
Running tests
Tests require PHP 7.4+, Composer, MySQL, and the Phing build tool (installed via Composer). CI runs PHPUnit 9 through 13 on PHP 7.4 to 8.5.
composer install composer test:setup # create MySQL databases test/reset_tests.sh # rebuild fixtures (use test\reset_tests.cmd on Windows) composer test # run PHPUnit from vendor/bin/phpunit
GitHub Actions runs the full matrix automatically: see .github/workflows/phpunit.yml.
Composer security advisories: composer.json ignores a small set of PKSA IDs for transitive dev/build dependencies (Phing 2.x, legacy PEAR tooling). These do not affect runtime-only installs that omit require-dev.
Note: Test fixtures use root with an empty password on 127.0.0.1 by default (test/fixtures/bookstore/runtime-conf.xml). Do not reuse these settings outside a local/CI test environment.
License
Propel is an open-source project released under the MIT license. See the LICENSE file for more information.