Download the PHP package eprofos/reverse-engineering-bundle without Composer

On this page you can find all versions of the php package eprofos/reverse-engineering-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package reverse-engineering-bundle

ReverseEngineeringBundle

Latest Version PHP Version Symfony Version

Advanced Symfony Bundle for Database Reverse Engineering - Automatically generate Doctrine entities from existing databases with advanced features and comprehensive testing.

Developed to simplify legacy application migration and modernization with enterprise-grade reliability.

🚀 Key Features

📋 Requirements

📦 Installation

Install via Composer

Register the Bundle

The bundle should be automatically registered in config/bundles.php. If not, add it manually:

🔧 Database Support

Supported Database Systems

Database Version Driver ENUM/SET Relations Status
MySQL 5.7+ pdo_mysql ✅ Tested ✅ ManyToOne ✅ Complete
PostgreSQL 12+ pdo_pgsql ❌ Todo ❌ Not tested ❌ Todo
SQLite 3.25+ pdo_sqlite ❌ Not tested ❌ Not tested ❌ Not tested

Relationship Support Progress

Type Mappers

⚙️ Configuration

Create your configuration file at config/packages/reverse_engineering.yaml:

Basic Configuration

PostgreSQL Configuration

SQLite Configuration

Advanced Configuration

🎯 Usage

Basic Command

Step-by-Step Usage

1. Preview Changes (Dry Run)

2. Generate Specific Tables

3. Exclude System Tables

4. Custom Namespace and Directory

5. Force Overwrite Existing Files

Advanced Usage Examples

Modular Entity Generation

Command Options Reference

Option Short Description Default
--tables -t Specific tables to process All tables
--exclude -e Tables to exclude None
--namespace -n Entity namespace From config
--output-dir -o Output directory From config
--force -f Force overwrite existing files false
--dry-run -d Preview mode (no files created) false
--verbose -v Verbose output false

📋 Generated Entity Examples

MySQL Database Example

Database Schema:

Generated User Entity

Generated Enum Class

Generated Product Entity with ManyToOne Relationship

🆕 PHP 8.1 Backed Enum Support

The bundle automatically generates PHP 8.1 backed enum classes from MySQL ENUM columns, providing type safety and better IDE support.

Type-Safe Usage Example

Enum Configuration

Configure enum generation in your configuration file:

🔧 Supported Data Types

MySQL Data Types (Fully Tested ✅)

MySQL Type PHP Type Doctrine Type Notes
INT, INTEGER, BIGINT, SMALLINT, TINYINT int integer Auto-increment detection
FLOAT, DOUBLE, REAL float float Precision preserved
DECIMAL, NUMERIC string decimal Precision and scale preserved
BOOLEAN, BOOL bool boolean Default values supported
DATE, DATETIME, TIMESTAMP, TIME DateTimeInterface datetime Timezone aware
VARCHAR, CHAR, TEXT, LONGTEXT string string Length constraints
JSON array json Native JSON support
BLOB, LONGBLOB string blob Binary data
ENUM PHP 8.1 Enum string 🆕 Auto-generated backed enum classes
SET string string Values documented in comments
YEAR int integer Year validation

PostgreSQL Data Types (Todo ❌)

PostgreSQL Type PHP Type Doctrine Type Status
INTEGER, BIGINT, SMALLINT int integer ❌ Todo
REAL, DOUBLE PRECISION float float ❌ Todo
NUMERIC, DECIMAL string decimal ❌ Todo
BOOLEAN bool boolean ❌ Todo
DATE, TIMESTAMP, TIME DateTimeInterface datetime ❌ Todo
VARCHAR, CHAR, TEXT string string ❌ Todo
JSON, JSONB array json ❌ Todo
UUID string guid ❌ Todo
ARRAY array simple_array ❌ Todo

SQLite Data Types (Todo ❌)

SQLite Type PHP Type Doctrine Type Status
INTEGER int integer ❌ Todo
REAL float float ❌ Todo
TEXT string string ❌ Todo
BLOB string blob ❌ Todo

🔗 Relationship Support

ManyToOne Relationships (✅ Implemented)

Automatically detected from foreign key constraints in MySQL:

OneToMany Relationships (❌ Todo)

Feature in development - will be available in version 0.2.0

OneToOne Relationships (❌ Todo)

Feature planned for future release

ManyToMany Relationships (❌ Todo)

Feature in development - will be available in version 0.2.0

Self-Referencing Relationships (✅ Implemented)

Supported for hierarchical data structures:

🚀 Roadmap and Todo List

Version 0.2.0 (Next Release)

Version 0.3.0 (Future)

Version 0.4.0 (Future)

Long-term Goals

📝 Best Practices

1. Backup Existing Entities

2. Use Dry-Run for Preview

3. Exclude System Tables

Configure exclusions in your configuration file:

4. Organize with Namespaces

5. Validate Generated Entities

🚨 Error Handling

The bundle provides comprehensive error handling with specific exceptions:

Database Connection Issues

Permission Problems

Memory Limitations

Debug Mode

Use verbose output for detailed information:


All versions of reverse-engineering-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
symfony/framework-bundle Version ^7.0
symfony/console Version ^7.0
symfony/config Version ^7.0
symfony/dependency-injection Version ^7.0
symfony/http-kernel Version ^7.0
doctrine/dbal Version ^3.0
doctrine/orm Version ^2.15|^3.0
doctrine/doctrine-bundle Version ^2.10
twig/twig Version ^3.0
psr/log Version ^3.0
monolog/monolog Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package eprofos/reverse-engineering-bundle contains the following files

Loading the files please wait ....