Cakephp烘焙-在数据源中找不到表 问题
我试图让Cakephp烘焙一个控制器,但出现了一个错误:Cakephp烘焙-在数据源中找不到表 问题,php,postgresql,cakephp,controller,cakephp-2.0,Php,Postgresql,Cakephp,Controller,Cakephp 2.0,我试图让Cakephp烘焙一个控制器,但出现了一个错误: Error: Table core_tablets for model CoreTablet was not found in datasource dev. 背景资料 我正在为我的Apache、PHP和Postgresql使用Lappstack Postgresql 9.0.3数据库 PHP5.3 阿帕奇2 Cakephp 2.3.1 我能做什么 我会烤一个模型。到目前为止,我已经为每个控制器创建了一个模型 这个webapp很好
Error: Table core_tablets for model CoreTablet was not found in datasource dev.
背景资料
- 我正在为我的Apache、PHP和Postgresql使用Lappstack
- Postgresql 9.0.3数据库
- PHP5.3
- 阿帕奇2
- Cakephp 2.3.1
- 我会烤一个模型。到目前为止,我已经为每个控制器创建了一个模型
- 这个webapp很好用。我从头开始构建模型、控制器和视图,一切正常
- 使用pgadmin3和psql从web应用程序远程连接到DB
问题最终是表上的权限问题<如果在
app/config/database.php
中定义的用户对表没有权限,则code>/cake bake无法查看数据库。我所需要做的就是在表上添加权限。这是我在Postgresql数据库中所做的:
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE my_schema.my_table TO notrealusername
我还向表使用的序列添加了权限:
GRANT USAGE ON SEQUENCE my_schema.my_table TO notrealusername
SQL
用于postgresql9.1
向序列添加权限对使用Bake实用程序没有影响,但在尝试插入依赖序列作为默认值的新记录时,可能会导致问题。在烘焙之前是否先在数据库中创建表“core_tablets”?是,每个表都是在烘焙之前在数据库中创建的。烘焙模型时,我遇到了一个错误。上面说找不到这个表。它拼写正确吗?烘焙蛋糕时,您会看到哪些型号,然后从选择列表中键入M来选择型号。@开尔文:是的,表格拼写正确。当我执行./cake bake并选择M时,我将收到当前在/app/model中的所有模型的列表。dev datasource和default datasource是否在同一数据库中?表是否可能存在于默认数据库中而不是dev数据库中?
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE my_schema.my_table TO notrealusername
GRANT USAGE ON SEQUENCE my_schema.my_table TO notrealusername