Filed Under (mysql, symfony) by pgodel on Marzo-27-2008

Si no lo sabes, MySQL no tiene tipo de datos BOOLEAN como otras RDBMS. Cuando uno crea una tabla con columnas BOOLEAN, estas son creadas como TINYINT.

Por su parte, Symfony tiene un feature muy bueno: cuando uno crea un admin basado en un modelo, si encuentra una columna BOOLEAN, lo presenta con un checkbox, pero si es TINYINT pone un INPUT TEXT.

Como a mi me gusta generar el modelo usando el MySQL Workbench cuando genero el schema para el symfony utilizando la base de datos creada, symfony encuentra la columna como TINYINT.

Para resolver esto, utilizo el comando sed para hacer el reemplazo en un script de bash:

#!/bash/sh

symfony clear-cache

symfony propel-build-schema

mv config/schema.yml config/schema_bak.yml

sed s/TINYINT/BOOLEAN/ config/schema_bak.yml > config/schema.yml

symfony propel-build-model


You must be logged in to post a comment.