Skip to content

tbl0605/Propel-pervasive

Repository files navigation

Propel Pervasive

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.

About

Propel is an open-source Object-Relational Mapping (ORM) for PHP 7.4+. This fork tries to add support for Pervasive DB (and includes most pending Propel v1 pull requests).

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages