User Tools

Site Tools


informatica:linux:php:symfony

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:php:symfony [2009/10/13 10:17] 192.168.1.30informatica:linux:php:symfony [2015/04/13 20:19] (current) – external edit 127.0.0.1
Line 292: Line 292:
  
 De esta forma hemos optado por la instalación individual de symfony: moviendo el directorio '/tmp/proyectos_symfony/proyecto_1' tenemos nuestro proyecto entero, al coste de que pesa, vacío, 25 Mb De esta forma hemos optado por la instalación individual de symfony: moviendo el directorio '/tmp/proyectos_symfony/proyecto_1' tenemos nuestro proyecto entero, al coste de que pesa, vacío, 25 Mb
 +
 +
 +
 +
 +
  
 ===== Configurar la bd ===== ===== Configurar la bd =====
Line 297: Line 302:
 En este ejemplo vamos a usar mysql. Desde dentro del proyecto: En este ejemplo vamos a usar mysql. Desde dentro del proyecto:
  
-  php symfony configure:database "mysql:host=localhost;dbname=dbname" root contrasenya_root+^ ORM ^ SGBD ^ Comando ^ 
 +| Propel | MySQL | <code>php symfony configure:database "mysql:host=localhost;dbname=blog" root mYsEcret</code>
 +| Propel | Sqlite | <code>php symfony configure:database "sqlite://%SF_DATA_DIR%/sqlite/bd_sqlite.bd"</code>
 +| Doctrine | MySQL | <code>php symfony configure:database --name=doctrine --class=sfDoctrineDatabase "mysql:host=localhost;dbname=jobeet" root mYsEcret</code>
 +| Doctrine | Sqlite | <code>php symfony configure:database --name=doctrine --class=sfDoctrineDatabase "sqlite:///%SF_DATA_DIR%/sqlite/bd_sqlite.bd"</code>
 + 
  
  
Line 515: Line 526:
 | Slot | {{http://www.symfony-project.org/images/book/1_2/F0704.png}} | | Slot | {{http://www.symfony-project.org/images/book/1_2/F0704.png}} |
 | Component slot | http://www.symfony-project.org/book/1_2/07-Inside-the-View-Layer | | Component slot | http://www.symfony-project.org/book/1_2/07-Inside-the-View-Layer |
 +
 +
 +
 +
 +
 +
 +
  
  
Line 533: Line 551:
 **NOTA** supongo que antes de lanzar cada comando, es conveniente limpiar la caché (teóricamente en entornos 'dev'... la caché se genera cada vez) **NOTA** supongo que antes de lanzar cada comando, es conveniente limpiar la caché (teóricamente en entornos 'dev'... la caché se genera cada vez)
  
-**Limpiar la caché**+  * Limpiar la caché
  
   php symfony cc   php symfony cc
      
-**Configurar la conexión a la base de datos con PROPEL**+  * Configurar la conexión a la base de datos con PROPEL**
  
   # Ejemplo MySQL   # Ejemplo MySQL
Line 549: Line 567:
   /mi_proyecto/config/databases.yml   /mi_proyecto/config/databases.yml
  
-**Crear el modelo de objetos**+  * Crear el modelo de objetos con PROPEL
  
   php symfony propel:build-model   php symfony propel:build-model
Line 557: Line 575:
   php symfony cache:clear   php symfony cache:clear
  
-**Crear el diagrama entidad-relación a partir del modelo .yml**+  * Crear el diagrama entidad-relación a partir del modelo .yml con PROPEL
  
   php symfony propel:build-sql   php symfony propel:build-sql
Line 565: Line 583:
   /mi_proyecto/data/sql/lib.model.sql   /mi_proyecto/data/sql/lib.model.sql
  
-**Habilitar los activos (assets) asociados a un plugin que acaba de ser habilitado**+  * Habilitar los activos (assets) asociados a un plugin que acaba de ser habilitado
  
   php symfony plugin:publish-assets   php symfony plugin:publish-assets
  
 +  * Crear la bd a partir del archivo '/mi_proyecto/data/sql/schema.sql' con PROPEL
      
 +  php symfony propel:insert-sql --no-confirmation
 +
 +**NOTA** Todo lo marcado con 'con PROPEL' se puede hacer con doctrine sustituyendo en el comando 'propel' por 'doctrine' y viceversa
 +
 +  * Cargar los datos a partir de '/mi_proyecto/data/fixtures/'fixtures con DOCTRINE
 +
 +  php symfony doctrine:data-load
 +
 +**TODOS los comandos anteriores para PROPEL**
 +
 +  php symfony doctrine:build-all-reload --no-confirmation
 +  php symfony cc
 +
 +  * Listar rutas de una aplicación
 +
 +  php symfony app:routes frontend
 +
 +  * Mostrar el detalle de una ruta
 +
 +  php symfony app:routes frontend job_edit
  
 ===== Errores ===== ===== Errores =====
Line 604: Line 643:
 La primera linea tiene que ser parecida a: La primera linea tiene que ser parecida a:
  
-  ** This file contains an SQLite 2.1 database **...+  This file contains an SQLite 2.1 database...
  
 **Solución** **Solución**
Line 628: Line 667:
   * No se ha modificado la ruta para que incluya el archivo correctamente   * No se ha modificado la ruta para que incluya el archivo correctamente
   * Se ha comentado por error la linea 'sfCoreAutoload::register();'   * Se ha comentado por error la linea 'sfCoreAutoload::register();'
 +
 +**Fatal error: Class 'sfPropelDatabase' not found in /mnt/disco_1/datos/proyectos_symfony/jobeet/cache/frontend/dev/config/config_databases.yml.php on line 6**
 +
 +Se está intentando crear las sentencias sql con doctrine:
 +
 +  php symfony doctrine:build-sql
 +
 +Pero en el archivo de configuración:
 +
 +  /mi_proyecto/apps/frontend/config/databases.yml  
 +
 +Todavía quedan residuos de propel que hay que eliminar:
 +
 +<code>
 +dev:
 +  propel:
 +    param:
 +      classname: DebugPDO
 +test:
 +  propel:
 +    param:
 +      classname: DebugPDO
 +all:
 +  propel:
 +    class: sfPropelDatabase
 +    param:
 +      classname: PropelPDO
 +      dsn: 'mysql:dbname=jobeet;host=localhost'
 +      username: root
 +      password: null
 +      encoding: utf8
 +      persistent: true
 +      pooling: true
 +  doctrine:
 +    class: sfDoctrineDatabase
 +    param:
 +      dsn: 'sqlite:///%SF_DATA_DIR%/sqlite/bd_sqlite.bd'
 +      username: root
 +      password: null
 +</code>
 +
 +Debería quedar tal que así:
 +
 +<code>
 +all:
 +  doctrine:
 +    class: sfDoctrineDatabase
 +    param:
 +      dsn: 'sqlite:///%SF_DATA_DIR%/sqlite/bd_sqlite.bd'
 +      username: root
 +      password: null
 +</code>
 +
informatica/linux/php/symfony.1255429056.txt.gz · Last modified: 2015/04/13 20:19 (external edit)