我几乎一字一句地遵循着the documentation,除了我认为是纠正的两个调整。CodeIgniter和Doctrine:基表或视图没有找到
第一调整:我消除system/application/doctrine.php
冗余DIRECTORY_SEPARATOR
:
//this produces "...system/application//fixtures"
$config = array('data_fixtures_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '/fixtures',
//Replaced with:
$config = array('data_fixtures_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'fixtures',
所得路径似乎是正确的。
第二次调整:生成的模型(例如models/User.php
)似乎并没有加载扩展Doctrine_Record
基本模型,所以我想补充一个明确require()
调用每个模型像这样:
require('generated/BaseUser.php');
class User extends BaseUser { ... }
所以,我的目前存在的问题:当谈到时间来建立表的第一次:
$ ./doctrine build-all-reload
build-all-reload - Are you sure you wish to drop your databases? (y/n)
y
build-all-reload - Successfully dropped database for connection named 'mydb'
build-all-reload - Successfully created database for connection named 'mydb'
build-all-reload - Created tables successfully
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mydb.user' doesn't exist
学说似乎高兴地空表,删除表,删除数据库和创建数据库,但我想不通为什么它赢得't 创建表。它清楚地说Created tables successfully
,但SHOW TABLES;
返回“没有在数据库中找到表”。
学说正在使用与我相同的MySQL用户,其中有ALL PRIVILEGES
。
任何想法为什么学说不能创建表?希望我只是失明和/或愚蠢。
另外,有没有我的方式,我可以只生成一个SQL CREATE语句文件的基础上我的yaml架构或模型,我可以自己运行调试此问题?
这就是解决方案......主义不了解基本模型。 'require'根本行不通。 – Dolph 2010-11-01 14:40:28