Hola buenas noches,
tengo un casito con ubuntu 10.04, symfony 1.4 y propel. No quiero
usar doctrine no tengo chance de aprender a usarlo he usado propel
pero la última vez fue para symfony 1.
Se me presentó lo siguiente, nunca tuve el archivo propel.ini una
vez generado mi project entonces me lo traje de algún lugar en la web
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = qubit
propel.database = mysql
propel.database.createUrl = mysql://root:123456@localhost/
propel.database.url = mysql://root:123456@localhost/mibasededatos
propel.database.user = root
propel.database.password = '123456'
propel.addGenericAccessors = false
propel.addGenericMutators = false
propel.addTimeStamp = false
propel.schema.validate = false
; directories
propel.home = .
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.graph.dir = ${propel.output.dir}/data/graph
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml
; builder settings
propel.builder.peer.class =
lib.propel.builder.QubitObjectBuilder
propel.builder.object.class =
lib.propel.builder.QubitObjectBuilder
propel.builder.objectstub.class =
lib.propel.builder.QubitExtensionObjectBuilder
propel.builder.peerstub.class =
lib.propel.builder.QubitExtensionObjectBuilder
propel.builder.objectmultiextend.class =
plugins.sfPropelPlugin.lib.propel.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class =
plugins.sfPropelPlugin.lib.propel.builder.SfMapBuilderBuilder
propel.builder.interface.class =
propel.engine.builder.om.php5.PHP5InterfaceBuilder
propel.builder.node.class =
propel.engine.builder.om.php5.PHP5NodeBuilder
propel.builder.nodepeer.class =
propel.engine.builder.om.php5.PHP5NodePeerBuilder
propel.builder.nodestub.class =
propel.engine.builder.om.php5.PHP5ExtensionNodeBuilder
propel.builder.nodepeerstub.class =
propel.engine.builder.om.php5.PHP5ExtensionNodePeerBuilder
propel.builder.addIncludes = false
propel.builder.addComments = false
propel.builder.addBehaviors = false
propel.mysql.tableType = InnoDB
No sé si esta completo o correcto. Luego configuré el databases.yml
para propel
# You can find more information about this file on the symfony
website:
#
http://www.symfony-project.org/reference/1_4/en/07-Databases
all:
propel:
class: sfPropelDatabase
param: PropelPDO
dsn: 'mysql:dbname=mibasededatos;host=localhost'
username: root
password: 123456
al ejecutar el comando: symfony propel:build-schema
me arroja este error: Unable to parse file "/var/www/miprojecto/
config/databases.yml": Unable to parse line 8 ( dsn:
'mysql:dbname=mibasededatos;host=localhost').
si le quito el "PropelPDO" o coloco el databases.yml como muestro a
continuación no me da el error
all:
propel:
class: sfPropelDatabase
param:
classname: PropelPDO
dsn: mysql:dbname=mibasededatos;host=localhost
username: root
password: 123456
encoding: utf8
persistent: true
pooling: true
pero se me genera el esquema como si fuera generado desde el ORM
doctrine. Así:
propel:
_attributes:
package: lib.model
defaultIdMethod: native
speciality:
_attributes: { phpName: Speciality }
speciality_id: { phpName: SpecialityId, type: BIGINT, size: '11',
primaryKey: true, autoIncrement: true, required: true }
speciality_name: { phpName: SpecialityName, type: VARCHAR, size:
'255', required: true }
a pesar que dice propel: eso a clara vista es formato de doctrine
hasta donde tengo entendido. Ya tengo habilitada la extensión
PDO_mysql y me baje el propel 1.5 pero no se donde inutilizar
totalmente el bendito doctrine.
Por favor si alguien tiene un ambiente similar, leáse:
- symfony version 1.4.11 (/usr/share/php/symfony)
- propel creo que 1.5 ya realmente no se cuál está funcional
- ubuntu 10.04 o debian
- mysql
- php5
- apache2
por favor indíqueme que puedo hacer para solventar estos
inconvenientes. De verdad que he investigado bastante en éste foro y
en varios en inglés y otros y nada no he conseguido alguna luz.
GRACIAS de antemano.