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.
| 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.
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.
composer require tbl0605/propel1-pervasiveThe propel-gen CLI is available from vendor/bin/propel-gen (Composer creates a .bat wrapper on Windows automatically).
git clone https://github.com/tbl0605/Propel-pervasive.git
cd Propel-pervasive
composer installLegacy 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-sqlBuild 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.ZFor original Propel 1.x concepts (schemas, behaviors, migrations), the Propel 1 documentation remains useful background reading.
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/phpunitGitHub 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.
Propel is an open-source project released under the MIT license. See the LICENSE file for more information.