stefanpolzer/propel-real-enum-behavior

Propel 2 behavior to manage the ENUM type more closely to what enums should be

2.0.1 2024-03-11 14:49 UTC

This package is auto-updated.

Last update: 2024-10-11 16:05:47 UTC


README

Latest Stable Version Total Downloads License

Requirements

This Behavior was developed for Propel 2.
It was also only tested for MySQL databases, if you wish to test it or adjust it for another database type, feel free to open an issue.

Installation

composer require stefanpolzer/propel-real-enum-behavior

schema.xml

Add the behavior either to the root of your database or on the target table.
Here is an example :

<database ...>
    <!-- This will add the real-enum behavior for all enums in the database -->
    <behavior name="real-enum"/>
    <table name="my_table">        
        <column name="my_enum" type="ENUM" valueSet="FIRST,SECOND,THIRD" />
    </table>
</database>

Usage

This behavior does 2 things to make usage of ENUMS easier :

  • You will now see the ENUM value from the valueSet in the database instead of a number.
  • Model classes will now have constants to easily access the enum values. Using the example above we could get a value from the value set like this : MyTable::MY_ENUM_SECOND