Armado de Esquemas YML

A diferencia de Symfony 1, el esquema es armado por cada clase

Primero creamos la carepta doctrine

mkdir src/JobeetBundle/Resources/config/doctrine

Creamos y editamos los archivos de esquemas

mcedit src/JobeetBundle/Resources/config/doctrine/Personas.orm.yml

# src/JobeetBundle/Resources/config/doctrine/Personas.orm.yml
JobeetBundle\Entity\Personas:
    type: entity
    table: personas
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    fields:
        nombre:
            type: string
            length: 255
            nullable: true
        apellido:
            type: string
            length: 255
        dni:
            type: string
            length: 255
            nullable: true
        activa:
            type: boolean
            nullable: true
    manyToOne:
        tiposdocumentos:
            targetEntity: Tiposdocumentos
            inversedBy: personas
            joinColumn:
                name: tiposdocumentos_id
                referencedColumnName: id

mcedit src/JobeetBundle/Resources/config/doctrine/Tiposdocumentos.orm.yml

# src/JobeetBundle/Resources/config/doctrine/Tiposdocumentos.orm.yml
JobeetBundle\Entity\Tiposdocumentos:
    type: entity
    table: tiposdocumentos
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    fields:
        name:
            type: string
            length: 255
            unique: true
    oneToMany:
        products:
            targetEntity: Personas
            mappedBy: tiposdocumentos

Generamos los archivos de Entidades

php app/console doctrine:generate:entities JobeetBundle

Si no hemos creado la base de datos y tenemos configuraod en app/config/parameters.yml el acceso, podemos crearla

ejemplo de parameters.yml

parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: s27
    database_user: root
    database_password: MICLAVE_MYSQL
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: dedeb278ce6f7db6ea0c78fa04499b87e418f613

php app/console doctrine:database:create

Luego trasladamos a la base de datos el esquema, en este caso conviene ya tener creada la base de datos segun lo configurado en parameters.yml

php app/console doctrine:schema:update --force

Agregamos un metodo para los combos que obtienen datos entre clases

en src/JobeetBundle/Entity/Tiposdocumentos.php

    public function __toString()
    {
      return $this->getName();
    }

Yo arme un archivo generar con el siguiente contenido

php app/console doctrine:generate:entities JobeetBundle
php app/console doctrine:schema:update --force
php app/console doctrine:generate:crud --entity=JobeetBundle:Personas --route-prefix=personas --with-write --format=yml --overwrite

php app/console cache:clear --env=prod
php app/console cache:clear --env=dev

le di todos los permisos, incluso el de ejecucion

chmod 777 generar

luego en consola solo corro , desde la carpeta donde se encuentra el archivo generar

./generar

le doy Enter en todas las opciones

Referencias:

http://symfony.com/doc/current/book/doctrine.html

Redmine Appliance - Powered by TurnKey Linux