Ver Mensaje Individual
  #19 (permalink)  
Antiguo 19/01/2011, 12:03
Avatar de Copia
Copia
 
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
Respuesta: doctrine y codeigniter como manejar las conecciones?

Muchas gracias amigo.

He intentado seguir todo el articulo de http://www.doctrine-project.org/proj...nd-doctrine/en

Para ello hize la preba en una nueva instalacion que llame doctrine2
Este es un resumen de las cosas que hize:

Puse doctrine en System->database->doctrine
Modifica que archivo de application->config->database.php y puse abajo de la linea
Código PHP:
$db['default']['cachedir'] = ""
este porcion de codigo:
Código PHP:
// Create dsn from the info above
$db['default']['dsn'] = $db['default']['dbdriver'] .
                        
'://' $db['default']['username'] .
                        
':' $db['default']['password'].
                        
'@' $db['default']['hostname'] .
                        
'/' $db['default']['database'];

// Require Doctrine.php
require_once(realpath(dirname(__FILE__) . '/../..') . DIRECTORY_SEPARATOR 'database/doctrine/Doctrine.php');

// Set the autoloader
spl_autoload_register(array('Doctrine''autoload'));

// Load the Doctrine connection
Doctrine_Manager::connection($db['default']['dsn'], $db['default']['database']);

// Set the model loading to conservative/lazy loading
Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_MODEL_LOADINGDoctrine_Core::MODEL_LOADING_CONSERVATIVE);

// Load the models for the autoloader
Doctrine_Core::loadModels(realpath(dirname(__FILE__) . '/..') . DIRECTORY_SEPARATOR 'models'); 
Luego me fui a la raiz de todo y agrege al final del archivo, borrando previamente la ultima linea de codigo en index.php y agrege las siguientes lineas de codigo:

Código PHP:
require_once APPPATH.'config/database.php';
require_once 
BASEPATH.'codeigniter/CodeIgniter'.EXT
Segun yo hasta aca lo he hecho todo bien.
Aca biene mi sufrimiento, cuando pide que agrege unas lineas de codigo que segun yo es en /usr/bin y crear un archivo llamado env.php con este contenido.

Código PHP:
#!/usr/bin/env php
define('BASEPATH','.'); // mockup that this app was executed from ci ;)
chdir(dirname(__FILE__));
include(
'doctrine.php'); 
Este paso no lo hize aun.

Seguidamente cree un directorio con permisos 777 llamado doctrine en application->doctrine y cree un archivo doctrine.php con el contenido siguiente:
Código PHP:
require_once('config/database.php');

// Configure Doctrine Cli
// Normally these are arguments to the cli tasks but if they are set here the arguments will be auto-filled
$config = array('data_fixtures_path'  =>  dirname(__FILE__) . DIRECTORY_SEPARATOR '/fixtures',
                
'models_path'         =>  dirname(__FILE__) . DIRECTORY_SEPARATOR '/models',
                
'migrations_path'     =>  dirname(__FILE__) . DIRECTORY_SEPARATOR '/migrations',
                
'sql_path'            =>  dirname(__FILE__) . DIRECTORY_SEPARATOR '/sql',
                
'yaml_schema_path'    =>  dirname(__FILE__) . DIRECTORY_SEPARATOR '/schema');

$cli = new Doctrine_Cli($config);
$cli->run($_SERVER['argv']); 
en ese mismo directorio he creado las siguientes carpetas.
// application->doctrine : schemas migrations fixtures

Ahora siguiendo el articulo me pide que haga esto:

Código:
$ cd system/application
$ ./doctrine
Doctrine Command Line Interface

./doctrine build-all
./doctrine build-all-load
./doctrine build-all-reload
./doctrine compile
./doctrine create-db
./doctrine create-tables
./doctrine dql
./doctrine drop-db
./doctrine dump-data
./doctrine generate-migration
./doctrine generate-migrations-db
./doctrine generate-migrations-models
./doctrine generate-models-db
./doctrine generate-models-yaml
./doctrine generate-sql
./doctrine generate-yaml-db
./doctrine generate-yaml-models
./doctrine load-data
./doctrine migrate
./doctrine rebuild-db
$
Y esto ya no se como se hace

intente hacerlo por la linea de comandos en Debian squeeze, pero bash no lo reconoce :s.

Supongo que es lo ultimo que me falta.

Help!
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com