2012-04-29 64 views
4

我想用CakePHP 2.1.1使用SQLite3作为数据库来构建一个简单的应用程序。为了节省时间,我试图用烘焙工具来创建以下表的模型:烘烤工具无法在SQLite3数据库中看到表格

CREATE TABLE animals (
    id integer primary key autoincrement, 
    name text 
); 

但烘焙工具返回以下错误:Your database does not have any tables.

我想通蛋糕必须连接到数据库的问题,所以我继续创建适当的模型,控制器和视图。我在动物表中插入了一条记录。它的工作。

我在搜索网页后没有想到任何东西。要么没有人试图在SQLite3数据库上使用烘焙工具,要么我运气不好。

有没有人有任何想法?

UPDATE

这里是cake bake输出:

[email protected]:~/php/app$ Console/cake bake model 

Welcome to CakePHP v2.1.1 Console 
--------------------------------------------------------------- 
App : app 
Path: /home/johan/php/app/ 
--------------------------------------------------------------- 
--------------------------------------------------------------- 
Bake Model 
Path: /home/johan/php/app/Model/ 
--------------------------------------------------------------- 
Your database does not have any tables. 

和配置文件:

<?php 
class DATABASE_CONFIG { 
    public $default = array(
     'datasource' => 'Database/Sqlite', 
     'persistent' => false, 
     'host' => 'localhost', 
     'database' => 'cake', 
    ); 
} 

数据库文件位于〜/ PHP /应用/ Webroot公司/蛋糕

+0

你检查你的日志文件的任何错误?当你输入“蛋糕烘烤模型”会发生什么,它会给你什么错误?你是否100%确定你的数据库可以被蛋糕访问? – 2012-04-29 18:57:54

+0

我检查了CakePHP和Apache的日志文件,没有看到任何不寻常的东西。 “蛋糕烘烤模型”也不会出错。它继续告诉我该数据库没有任何表。我100%确定数据库可以从我的CakePHP应用程序中访问,因为我能够插入记录。 – 2012-04-29 19:13:17

+0

您是否在应用程序文件夹或其他地方运行“蛋糕烘烤”?你的Config/database.php是什么样的?你把你的数据库放在哪里? – 2012-04-29 19:27:58

回答

6

尝试放满路径到你的数据库配置,这是我在我的应用程序做的:

<?php 
define('DEFAULT_DB', TMP.'db'.DS.'main.db3'); 

class DATABASE_CONFIG { 
    public $default = array(
     'datasource' => 'Database/Sqlite', 
     'persistent' => false, 
     'host' => '', 
     'database' => DEFAULT_DB, 
     'encoding' => 'utf8', 
    ); 
} 
+0

我感谢您的帮助。我接受了你的答案,一旦我拥有了足够的声望,它就会恢复成功。 – 2012-04-29 20:35:13

+0

@JohanA .:谢谢,很高兴我能帮忙;) – 2012-04-29 21:35:15