2014-03-30 101 views
1

當我使用php artisan migrate,我得到錯誤SQLSTATE[42000] [1049] Unknown database 'databaseName'Laravel遷移 - 說未知數據庫,但它創建時

但是數據庫確實存在!我甚至嘗試回到終端,登錄到MySQL並再次創建數據庫,並且它說數據庫已經存在!

爲什麼這給我這個錯誤?

+0

重新檢查您的憑據?也嘗試將其更改爲全部小寫? – majidarif

+0

做到這一點,它是小寫... – Kousha

+0

也檢查您是否連接到正確的服務器。 – majidarif

回答

0

在你app/config/database.php文件從databaseName的默認值更改爲您正試圖在應用程序中使用真實的數據庫名稱,像這樣(爲mysql司機):

'mysql' => array(
    'driver' => 'mysql', 
    'host'  => 'localhost', 
    'database' => 'your database name', //<-- put the database name 
    'username' => 'your user name', 
    'password' => 'your password', 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
), 
+0

該文件已正確設置。儘管我仍然遇到了這個錯誤。 – Kousha

+0

數據庫的名稱是什麼? –

+0

確保您正在處理正確的項目和正確的文件。 –

0

有一件事可能是你的套管。如果您在case sensitivity閱讀文檔,它說:

底層操作系統的大小寫敏感性起着數據庫和表名的大小寫敏感的一部分 。這意味着 數據庫和表名在Windows中不區分大小寫,而在大多數Unix中敏感的案例 。一個明顯的例外是Mac OS X,它基於Unix,但使用 不區分大小寫的默認文件系統類型(HFS +)。

然後去檢查您的應用程序數據庫設置發現@app/config/database.php

的東西,看起來像這樣:

'mysql' => array(
    'read' => array(
     'host' => '192.168.1.1', 
    ), 
    'write' => array(
     'host' => '196.168.1.2' 
    ), 
    'driver' => 'mysql', 
    'database' => 'databaseName', 
    'username' => 'root', 
    'password' => '', 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
), 

並仔細檢查了一切。

也嘗試使用snake_case而不是camelCase爲你的數據庫名稱。

+0

我刪除了數據庫(我使用sequel pro創建了它),並用mysql命令重新創建了它。它仍然說沒有找到數據庫。 – Kousha

1

我有同樣的問題。當我運行:php artisan migrate。 在我的情況下,我使用帶有刻痕盒的Vagrant。

爲了解決這個問題,請輸入:

  1. 流浪漢SSH
  2. CD /無功/網絡/ yourproject
  3. PHP工匠遷移

和所有工作。