2012-04-29 70 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