Path generateModelsFromYaml(..)的路径问题
build.php->generateModelsFromYaml(..)中schema.yml的最佳路径是什么 项目路径: /config/global.php:Path generateModelsFromYaml(..)的路径问题,path,doctrine,Path,Doctrine,build.php->generateModelsFromYaml(..)中schema.yml的最佳路径是什么 项目路径: /config/global.php: 应删除行中的第一个斜杠: Doctrine_Core::generateModelsFromYaml('lib/model/config/schema.yml', 'lib/model/', array('generateTableClasses' => true)); 下面是我的generate.php示例: requir
应删除行中的第一个斜杠:
Doctrine_Core::generateModelsFromYaml('lib/model/config/schema.yml', 'lib/model/', array('generateTableClasses' => true));
下面是我的generate.php示例:
require_once(dirname(__FILE__) . '/lib/vendor/doctrine/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'test';
$password = '';
$dbh = new PDO($dsn, $user, $password);
$conn = Doctrine_Manager::connection($dbh);
$conn->setOption('username', $user);
$conn->setOption('password', $password);
$conn->setOption('dsn',$dsn);
$conn->execute('SHOW TABLES');
array('generateTableClasses' => true));
//Doctrine_Core::loadModels('model');
$dbh = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
$dbh->query('DROP TABLE history');
/*
Delete all tables.
*/
unset($dbh);
$options = array(
'generateTableClasses' => true
);
Doctrine_Core::generateModelsFromYaml('config/schema.yml', 'model', $options);
Doctrine_Core::loadModels('model');
Doctrine_Core::createTablesFromModels();
Doctrine_Core::loadData('fixtures');
请注意,它会删除所有表
它对我有用。谢谢你的帮助,但它不起作用。。。同样的错误。可能是php配置?我正在使用wampNo开发Win7,我不认为它是PHP配置。尝试查看generateModelsFromYaml方法,并调试该方法如何打开文件夹。这可能会有帮助。无论如何,这种配置在Windows(Denwer)和Linux(LAMP)上都有效
<?php
require_once('config/global.php');
echo $_SERVER["PHP_SELF"];
// Si elle existe, supprimez la base existante.
// Attention, cela vide totalement la base de données !
Doctrine_Core::dropDatabases();
// Création de la base (uniquement si elle n'EXISTE PAS)
Doctrine_Core::createDatabases();
// Création des fichiers de modèle à partir du schema.yml
// Si vous n'utilisez pas le Yaml, n'exécutez pas cette ligne !
Doctrine_Core::generateModelsFromYaml('/lib/model/config/schema.yml', '/lib/model/',
array('generateTableClasses' => true));
// Création des tables
Doctrine_Core::createTablesFromModels('/lib/model');
?>
/parcVehicule/build.php
Fatal error: Uncaught exception 'Doctrine_Import_Exception' with message
'No yml schema found in /lib/model/config/schema.yml'
in C:\Program Files (x86)\wamp\www\parcVehicule\lib\vendor\doctrine\Doctrine\Import\Schema.php:277
Stack trace: #0 C:\Program Files (x86)\wamp\www\parcVehicule\lib\vendor\doctrine\Doctrine\Core.php(883):
Doctrine_Import_Schema->importSchema('/lib/model/conf...', 'yml', '/lib/model/')
#1 C:\Program Files (x86)\wamp\www\parcVehicule\build.php(16):
Doctrine_Core::generateModelsFromYaml('/lib/model/conf...', '/lib/model/', Array)
#2 {main} thrown in C:\Program Files (x86)\wamp\www\parcVehicule\lib\vendor\doctrine\Doctrine\Import\Schema.php on line 277
Doctrine_Core::generateModelsFromYaml('lib/model/config/schema.yml', 'lib/model/', array('generateTableClasses' => true));
require_once(dirname(__FILE__) . '/lib/vendor/doctrine/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'test';
$password = '';
$dbh = new PDO($dsn, $user, $password);
$conn = Doctrine_Manager::connection($dbh);
$conn->setOption('username', $user);
$conn->setOption('password', $password);
$conn->setOption('dsn',$dsn);
$conn->execute('SHOW TABLES');
array('generateTableClasses' => true));
//Doctrine_Core::loadModels('model');
$dbh = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
$dbh->query('DROP TABLE history');
/*
Delete all tables.
*/
unset($dbh);
$options = array(
'generateTableClasses' => true
);
Doctrine_Core::generateModelsFromYaml('config/schema.yml', 'model', $options);
Doctrine_Core::loadModels('model');
Doctrine_Core::createTablesFromModels();
Doctrine_Core::loadData('fixtures');