Foros del Web » Programando para Internet » PHP » Symfony »

Entidades con atributos booleans

Estas en el tema de Entidades con atributos booleans en el foro de Symfony en Foros del Web. Hola amigos, tengo entidades con atributos Booleans y cuando genero el esquema de la base de datos, estos campos booleans no me aparecen, ni siquiera ...
  #1 (permalink)  
Antiguo 22/10/2011, 05:37
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Entidades con atributos booleans

Hola amigos, tengo entidades con atributos Booleans y cuando genero el esquema de la base de datos, estos campos booleans no me aparecen, ni siquiera como tinyint (como debería ocurrir). Cuando genero las entidades me crea lo métodos gets y sets sin problemas, pero en la base de datos... nada de nada.

¿Le pasa lo mismo a alguien?¿Alguien sabe como solucionarlo o hay que tratarlo de alguna manera en especial?

Muchas gracias
  #2 (permalink)  
Antiguo 22/10/2011, 05:47
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Entidades con atributos booleans

Seria interesante que comentaras con que estas trabajando, asumo que es Doctrine 2, en cualquier caso postea el código.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 23/10/2011, 08:31
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Entidades con atributos booleans

Perdón, estoy trabajando con Symfony2 y como bien dices Doctrine2 y esta es mi entidad:

/**
* @ORM\Table(name="persona")
* @ORM\Entity
*/
class Persona{
....
/*
* @ORM\Column(type="boolean")
*/
protected $activo;
.....

Y cuando genero entidades con doctrine:generate:entities NombreBundle, me añade los métodos:

......
/**
* Get activo
*
* @param boolean $activo
*/
public function getActivo(){
return $this->activo;
}
......

Pero en la base de datos... Nada de nada... No se genera ningún boolean.
  #4 (permalink)  
Antiguo 23/10/2011, 10:32
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Entidades con atributos booleans

mmm, no se como funciona SF2 exactamente, pero estas seguro que no necesitas actualizar la db con el schema-tool ?, con D2 "vanilla" es algo asi:

Código SHELL:
Ver original
  1. doctrine:schema-tool:update --force

Sf2 debe tener algo semejante.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 23/10/2011, 11:01
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Entidades con atributos booleans

Muchas gracias por contestar masterpuppet. En Sf2, para doctrine se proporcionan en la consola los siguientes comandos:

doctrine
doctrine:cache:clear-metadata -- Clear all metadata cache for a entity manager
doctrine:cache:clear-query -- Clear all query cache for a entity manager
doctrine:cache:clear-result -- Clear result cache for a entity manager
doctrine:database:create -- Create the configured databases
doctrine:database:drop -- Drop the configured databases
doctrine:ensure-production-settings -- Verify that Doctrine is properly configured for a production environment.
doctrine:generate:crud -- Generates a CRUD based on a Doctrine entity
doctrine:generate:entities -- Generate entity classes and method stubs from your mapping information
doctrine:generate:entity -- Generates a new Doctrine entity inside a bundle
doctrine:generate:form -- Generates a form type class based on a Doctrine entity
doctrine:mapping:convert -- Convert mapping information between supported formats.
doctrine:mapping:import -- Import mapping information from an existing database
doctrine:mapping:info -- Show basic information about all mapped entities
doctrine:query:dql -- Executes arbitrary DQL directly from the command line.
doctrine:query:sql -- Executes arbitrary SQL directly from the command line.
doctrine:schema:create -- Executes (or dumps) the SQL needed to generate the database schema
doctrine:schema:drop -- Executes (or dumps) the SQL needed to drop the current database schema
doctrine:schema:update -- Executes (or dumps) the SQL needed to update the database schema to match the current mapping metadata

De todas maneras, también he borrado el esquema y vuelto a crear, he borrado la base de datos y la he vuelto a crear, pero nada... no se que estará pasando. He probado ponerle en vez de boolean tinyint(1) pero NADA!
  #6 (permalink)  
Antiguo 23/10/2011, 11:13
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Entidades con atributos booleans

Si creas cualquier otro tipo de dato si se refleja en la bbdd ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 23/10/2011, 11:18
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Entidades con atributos booleans

Si, están todos menos los booleans, incluso, cuando añado un boolean añado otro de tipo por ejemplo string. Pues aparece el que he creado de tipo string y no el de tipo boolean.

Muchas gracias
  #8 (permalink)  
Antiguo 23/10/2011, 12:11
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Entidades con atributos booleans

Ya creo que se que me está pasando, creo que de alguna manera, para generar las entidades recoge datos "antiguos". Os explico:

He creado un atributo borrarborrar como boolean, y me ha creado los métodos gets y sets (Antes dije que me creaba los métodos de los booleans, NO ERA CIERTO, NO ME LOS CREABA TAMPOCO). Después he actualizado es esquema y... BINGO! Ha creado el tinyint para borrarborrar!!

Una vez hecho esto, elimino el atributo borrarborrar y pongo otro que es el que yo quiero "activado". Pues bien, cuando genero las entidades, me genera un atributo private borrarborrar sus gets y sus sests pero ni rastro del atributo activado....

Muchas gracias.

PD: Creo que voy avanzando.. XD
  #9 (permalink)  
Antiguo 23/10/2011, 12:16
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Entidades con atributos booleans

Si limpias el cache te sucede lo mismo ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 23/10/2011, 12:36
Avatar de ManDam  
Fecha de Ingreso: marzo-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Entidades con atributos booleans

Si... Pero nada, quizás no esté usando el comando adecuado...

> doctrine:cache:clear-metadata
> Clearing ALL Metadata cache entries
> No entries to be deleted.

Etiquetas: symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.