tbl0605/propel1-pervasive

Propel 1.x ORM fork with experimental Pervasive PSQL (Actian Zen) support. Requires PHP 7.4+

Maintainers

Package info

github.com/tbl0605/Propel-pervasive

pkg:composer/tbl0605/propel1-pervasive

Statistics

Installs: 291

Dependents: 0

Suggesters: 0

Stars: 0

1.8.3 2026-06-20 11:21 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.

PHPUnit Total Downloads Latest Stable Version License

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.