|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
- [Installation](#installation)
|
|
|
- [Class](#class)
|
|
|
+- [Ejemplo YAML](#Ejemplo YAML)
|
|
|
|
|
|
## Installation
|
|
|
|
|
@@ -63,4 +64,133 @@ Ademas se pueden utilizar las siguientes funciones:
|
|
|
$ bin/console doctrine:migrations:execute <numberOfMigrations>
|
|
|
```
|
|
|
|
|
|
+## Ejemplo YAML
|
|
|
+**Palabras claves de importacion**: son palabras que importan los datos desde otros archivos que pueden estar en otros directorios. Siempre se toma como base `app/DoctrineMigrations`.
|
|
|
+```
|
|
|
+ import: importa el valor de un campo de un registro.
|
|
|
+ importKey: importa un registro completo. Este archivo puede contener la palabra clave "import".
|
|
|
+```
|
|
|
+**Ejemplo completo**
|
|
|
+`datosAIncorporar.yml`
|
|
|
+```yaml
|
|
|
+insert:
|
|
|
+ groups: # nombre de la tabla
|
|
|
+ - id: 1 # registro 1
|
|
|
+ name: Admin 1
|
|
|
+ roles: rol 1
|
|
|
+ ignore: true
|
|
|
+ orupdate: true
|
|
|
+ - id: 2 # registro 2
|
|
|
+ name: {import: "insertSoloName.yml"}
|
|
|
+ replace: 1
|
|
|
+ roles: rol 2
|
|
|
+ - {importkey: "insertCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "insertCompletoAnidado.yml"} # registro 4
|
|
|
+update: # nombre de la tabla
|
|
|
+ groups:
|
|
|
+ - name: "Admin update 1" # registro 1
|
|
|
+ where: id = 1
|
|
|
+ - where: id = 2
|
|
|
+ name: {import: "updateSoloName.yml"} # registro 2
|
|
|
+ - {importkey: "updateCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "updateCompletoAnidado.yml"} # registro 4
|
|
|
+delete: # nombre de la tabla
|
|
|
+ groups:
|
|
|
+ - where: id = 1 # registro 1
|
|
|
+ - where: {import: "deleteSoloWhere.yml"} # registro 2
|
|
|
+ - {importkey: "deleteCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "deleteCompletoAnidado.yml"} # registro 4
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+**_Explicacion de cada uno de las sentencias_**
|
|
|
+
|
|
|
+**INSERT**: El "replace" sobreescribe al "ignore" y el "orupdate" sobreescribe al "replace".
|
|
|
+```Php
|
|
|
+palabras claves:
|
|
|
+ orupdate: crea un "insert ... or update ...". Si el registro no existe lo inserta, en caso contrario hace un update de los datos.
|
|
|
+ replace: crea un "replace into ...".
|
|
|
+ ignore: crea un "insert ignore into ...".
|
|
|
+```
|
|
|
+Archivo base de incorporacion: `datosAIncorporar.yml`
|
|
|
+```yaml
|
|
|
+insert:
|
|
|
+ groups: # nombre de la tabla
|
|
|
+ - id: 1 # registro 1
|
|
|
+ name: Admin 1
|
|
|
+ roles: rol 1
|
|
|
+ ignore: true
|
|
|
+ orupdate: true
|
|
|
+ - id: 2 # registro 2
|
|
|
+ name: {import: "insertSoloName.yml"}
|
|
|
+ replace: 1
|
|
|
+ roles: rol 2
|
|
|
+ - {importkey: "insertCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "insertCompletoAnidado.yml"} # registro 4
|
|
|
+```
|
|
|
+Archivo que contiene solo el valor del campo name: `insertSoloName.yml`
|
|
|
+```yaml
|
|
|
+Admin 2
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un insert: `insertCompleto.yml`
|
|
|
+```yaml
|
|
|
+id: 3
|
|
|
+name: "Admin 3"
|
|
|
+roles: rol 3
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un insert y se añida en 1 profundidad: `insertCompletoAnidado.yml`
|
|
|
+```yaml
|
|
|
+id: 4
|
|
|
+name: {import: "insertCompletoAnidadoSoloName.yml"}
|
|
|
+roles: rol 4
|
|
|
+ignore: 1
|
|
|
+```
|
|
|
+**UPDATE**: tiene la particularidad de que el where se debe escribir completo.
|
|
|
+Archivo base de incorporacion: `datosAIncorporar.yml`
|
|
|
+```yaml
|
|
|
+update:
|
|
|
+ groups: # nombre de la tabla
|
|
|
+ - name: "Admin update 1" # registro 1
|
|
|
+ where: id = 1
|
|
|
+ - where: id = 2 # registro 2
|
|
|
+ name: {import: "updateSoloName.yml"}
|
|
|
+ - {importkey: "updateCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "updateCompletoAnidado.yml"} # registro 4
|
|
|
+```
|
|
|
+Archivo que contiene solo el valor del campo name: `updateSoloName.yml`
|
|
|
+```yaml
|
|
|
+Admin update 222222
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un update: `updateCompleto.yml`
|
|
|
+```yaml
|
|
|
+where: id = 3
|
|
|
+name: "Admin update 3"
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un udpate y se añida en 1 profundidad: `updateCompletoAnidado.yml`
|
|
|
+```yaml
|
|
|
+where: id = 4
|
|
|
+name: {import: "updateCompletoAnidadoSoloName.yml"}
|
|
|
+```
|
|
|
|
|
|
+**DELETE**: tiene la particularidad de que el where se debe escribir completo.
|
|
|
+Archivo base de incorporacion: `datosAIncorporar.yml`
|
|
|
+```yaml
|
|
|
+delete:
|
|
|
+ groups: # nombre de la tabla
|
|
|
+ - where: id = 1 # registro 1
|
|
|
+ - where: {import: "deleteSoloWhere.yml"} # registro 2
|
|
|
+ - {importkey: "deleteCompleto.yml"} # registro 3
|
|
|
+ - {importkey: "deleteCompletoAnidado.yml"} # registro 4
|
|
|
+```
|
|
|
+Archivo que contiene solo el valor del campo name: `deleteSoloWhere.yml`
|
|
|
+```yaml
|
|
|
+id = 2
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un delete: `deleteCompleto.yml`
|
|
|
+```yaml
|
|
|
+where: id = 3
|
|
|
+```
|
|
|
+Archivo que contiene la estructura de un delete y se añida en 1 profundidad: `deleteCompletoAnidado.yml`
|
|
|
+```yaml
|
|
|
+where: {import: "deleteCompletoAnidadoWhere.yml"}
|
|
|
+```
|