Armado de Esquemas YML
Versión 6 (Guillermo Zdanowicz, 02/10/2015 22:18)
1 | 1 | Guillermo Zdanowicz | h1. Armado de Esquemas YML |
---|---|---|---|
2 | 1 | Guillermo Zdanowicz | |
3 | 1 | Guillermo Zdanowicz | A diferencia de Symfony 1, el esquema es armado por cada clase |
4 | 1 | Guillermo Zdanowicz | |
5 | 1 | Guillermo Zdanowicz | *Primero creamos la carepta doctrine* |
6 | 1 | Guillermo Zdanowicz | |
7 | 1 | Guillermo Zdanowicz | mkdir src/JobeetBundle/Resources/config/doctrine |
8 | 1 | Guillermo Zdanowicz | |
9 | 1 | Guillermo Zdanowicz | Creamos y editamos los archivos de esquemas |
10 | 1 | Guillermo Zdanowicz | |
11 | 6 | Guillermo Zdanowicz | mcedit src/JobeetBundle/Resources/config/doctrine/Personas.orm.yml |
12 | 1 | Guillermo Zdanowicz | |
13 | 1 | Guillermo Zdanowicz | <pre> |
14 | 6 | Guillermo Zdanowicz | # src/JobeetBundle/Resources/config/doctrine/Personas.orm.yml |
15 | 6 | Guillermo Zdanowicz | JobeetBundle\Entity\Personas: |
16 | 1 | Guillermo Zdanowicz | type: entity |
17 | 6 | Guillermo Zdanowicz | table: personas |
18 | 1 | Guillermo Zdanowicz | id: |
19 | 1 | Guillermo Zdanowicz | id: |
20 | 1 | Guillermo Zdanowicz | type: integer |
21 | 1 | Guillermo Zdanowicz | generator: { strategy: AUTO } |
22 | 1 | Guillermo Zdanowicz | fields: |
23 | 6 | Guillermo Zdanowicz | nombre: |
24 | 1 | Guillermo Zdanowicz | type: string |
25 | 1 | Guillermo Zdanowicz | length: 255 |
26 | 1 | Guillermo Zdanowicz | nullable: true |
27 | 6 | Guillermo Zdanowicz | apellido: |
28 | 1 | Guillermo Zdanowicz | type: string |
29 | 1 | Guillermo Zdanowicz | length: 255 |
30 | 6 | Guillermo Zdanowicz | dni: |
31 | 1 | Guillermo Zdanowicz | type: string |
32 | 1 | Guillermo Zdanowicz | length: 255 |
33 | 1 | Guillermo Zdanowicz | nullable: true |
34 | 6 | Guillermo Zdanowicz | activa: |
35 | 1 | Guillermo Zdanowicz | type: boolean |
36 | 1 | Guillermo Zdanowicz | nullable: true |
37 | 1 | Guillermo Zdanowicz | manyToOne: |
38 | 6 | Guillermo Zdanowicz | tiposdocumentos: |
39 | 6 | Guillermo Zdanowicz | targetEntity: Tiposdocumentos |
40 | 6 | Guillermo Zdanowicz | inversedBy: personas |
41 | 1 | Guillermo Zdanowicz | joinColumn: |
42 | 6 | Guillermo Zdanowicz | name: tiposdocumentos_id |
43 | 1 | Guillermo Zdanowicz | referencedColumnName: id |
44 | 1 | Guillermo Zdanowicz | </pre> |
45 | 1 | Guillermo Zdanowicz | |
46 | 6 | Guillermo Zdanowicz | mcedit src/JobeetBundle/Resources/config/doctrine/Tiposdocumentos.orm.yml |
47 | 1 | Guillermo Zdanowicz | |
48 | 1 | Guillermo Zdanowicz | <pre> |
49 | 6 | Guillermo Zdanowicz | # src/JobeetBundle/Resources/config/doctrine/Tiposdocumentos.orm.yml |
50 | 6 | Guillermo Zdanowicz | JobeetBundle\Entity\Tiposdocumentos: |
51 | 1 | Guillermo Zdanowicz | type: entity |
52 | 6 | Guillermo Zdanowicz | table: tiposdocumentos |
53 | 1 | Guillermo Zdanowicz | id: |
54 | 1 | Guillermo Zdanowicz | id: |
55 | 1 | Guillermo Zdanowicz | type: integer |
56 | 1 | Guillermo Zdanowicz | generator: { strategy: AUTO } |
57 | 1 | Guillermo Zdanowicz | fields: |
58 | 6 | Guillermo Zdanowicz | name: |
59 | 1 | Guillermo Zdanowicz | type: string |
60 | 1 | Guillermo Zdanowicz | length: 255 |
61 | 1 | Guillermo Zdanowicz | unique: true |
62 | 6 | Guillermo Zdanowicz | oneToMany: |
63 | 6 | Guillermo Zdanowicz | products: |
64 | 6 | Guillermo Zdanowicz | targetEntity: Personas |
65 | 6 | Guillermo Zdanowicz | mappedBy: tiposdocumentos |
66 | 1 | Guillermo Zdanowicz | </pre> |
67 | 1 | Guillermo Zdanowicz | |
68 | 1 | Guillermo Zdanowicz | |
69 | 6 | Guillermo Zdanowicz | |
70 | 6 | Guillermo Zdanowicz | |
71 | 1 | Guillermo Zdanowicz | *Generamos los archivos de Entidades* |
72 | 1 | Guillermo Zdanowicz | |
73 | 1 | Guillermo Zdanowicz | php app/console doctrine:generate:entities JobeetBundle |
74 | 1 | Guillermo Zdanowicz | |
75 | 1 | Guillermo Zdanowicz | *Si no hemos creado la base de datos y tenemos configuraod en app/config/parameters.yml el acceso, podemos crearla* |
76 | 1 | Guillermo Zdanowicz | |
77 | 1 | Guillermo Zdanowicz | ejemplo de parameters.yml |
78 | 1 | Guillermo Zdanowicz | |
79 | 1 | Guillermo Zdanowicz | <pre> |
80 | 1 | Guillermo Zdanowicz | parameters: |
81 | 1 | Guillermo Zdanowicz | database_host: 127.0.0.1 |
82 | 1 | Guillermo Zdanowicz | database_port: null |
83 | 1 | Guillermo Zdanowicz | database_name: s27 |
84 | 1 | Guillermo Zdanowicz | database_user: root |
85 | 1 | Guillermo Zdanowicz | database_password: MICLAVE_MYSQL |
86 | 1 | Guillermo Zdanowicz | mailer_transport: smtp |
87 | 1 | Guillermo Zdanowicz | mailer_host: 127.0.0.1 |
88 | 1 | Guillermo Zdanowicz | mailer_user: null |
89 | 1 | Guillermo Zdanowicz | mailer_password: null |
90 | 1 | Guillermo Zdanowicz | secret: dedeb278ce6f7db6ea0c78fa04499b87e418f613 |
91 | 1 | Guillermo Zdanowicz | </pre> |
92 | 1 | Guillermo Zdanowicz | |
93 | 1 | Guillermo Zdanowicz | php app/console doctrine:database:create |
94 | 1 | Guillermo Zdanowicz | |
95 | 1 | Guillermo Zdanowicz | *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* |
96 | 1 | Guillermo Zdanowicz | |
97 | 1 | Guillermo Zdanowicz | php app/console doctrine:schema:update --force |
98 | 1 | Guillermo Zdanowicz | |
99 | 6 | Guillermo Zdanowicz | Agregamos un metodo para los combos que obtienen datos entre clases |
100 | 1 | Guillermo Zdanowicz | |
101 | 6 | Guillermo Zdanowicz | en src/JobeetBundle/Entity/Tiposdocumentos.php |
102 | 6 | Guillermo Zdanowicz | |
103 | 6 | Guillermo Zdanowicz | <pre> |
104 | 6 | Guillermo Zdanowicz | public function __toString() |
105 | 6 | Guillermo Zdanowicz | { |
106 | 6 | Guillermo Zdanowicz | return $this->getName(); |
107 | 6 | Guillermo Zdanowicz | } |
108 | 6 | Guillermo Zdanowicz | </pre> |
109 | 6 | Guillermo Zdanowicz | |
110 | 6 | Guillermo Zdanowicz | Yo arme un archivo *generar* con el siguiente contenido |
111 | 6 | Guillermo Zdanowicz | |
112 | 6 | Guillermo Zdanowicz | <pre> |
113 | 6 | Guillermo Zdanowicz | php app/console doctrine:generate:entities JobeetBundle |
114 | 6 | Guillermo Zdanowicz | php app/console doctrine:schema:update --force |
115 | 6 | Guillermo Zdanowicz | php app/console doctrine:generate:crud --entity=JobeetBundle:Personas --route-prefix=personas --with-write --format=yml --overwrite |
116 | 6 | Guillermo Zdanowicz | |
117 | 6 | Guillermo Zdanowicz | php app/console cache:clear --env=prod |
118 | 6 | Guillermo Zdanowicz | php app/console cache:clear --env=dev |
119 | 6 | Guillermo Zdanowicz | </pre> |
120 | 6 | Guillermo Zdanowicz | |
121 | 6 | Guillermo Zdanowicz | le di todos los permisos, incluso el de ejecucion |
122 | 6 | Guillermo Zdanowicz | |
123 | 6 | Guillermo Zdanowicz | chmod 777 generar |
124 | 6 | Guillermo Zdanowicz | |
125 | 6 | Guillermo Zdanowicz | luego en consola solo corro , desde la carpeta donde se encuentra el archivo generar |
126 | 6 | Guillermo Zdanowicz | |
127 | 6 | Guillermo Zdanowicz | <pre> |
128 | 6 | Guillermo Zdanowicz | ./generar |
129 | 6 | Guillermo Zdanowicz | </pre> |
130 | 6 | Guillermo Zdanowicz | |
131 | 6 | Guillermo Zdanowicz | le doy Enter en todas las opciones |
132 | 6 | Guillermo Zdanowicz | |
133 | 6 | Guillermo Zdanowicz | *Referencias:* |
134 | 5 | Guillermo Zdanowicz | |
135 | 5 | Guillermo Zdanowicz | http://symfony.com/doc/current/book/doctrine.html |