2016-06-14 61 views
-1

六個月前,我使用Laravel和Xampp,我使用了遷移,並且都運行良好。Xampp不建立關係,Wamp使用鏡像來完成它Laravel

現在在Wamp,我得到了一個錯誤。當我運行php artisan migrate時,我可以看到桌子在那裏,但是這種關係沒有。我檢查了phpmyadmin的設計器模式。

我試過Xampp,當我跑php artisan migrate時,我可以看到桌子在那裏,也有關係。我檢查了phpmyadmin的設計器模式。

我讀到Xampp使用MariaDB和Wamp Mysql,但是當我在六個月前使用Xampp時,我重新提到Xampp也在使用Mysql。

我不明白爲什麼我沒有更改數據庫配置,我可以連接兩者。你能看到什麼是錯的嗎? 。我知道MariaDB的幾乎是與MySQL一樣,但是,我不明白爲什麼我不能創建與WAMP遷移的關係,我需要使用WAMP

這裏我的文件。

database.php中

'fetch' => PDO::FETCH_CLASS, 



    'default' => env('DB_CONNECTION', 'mysql'), 


    'connections' => [ 

     'mysql' => [ 
      'driver' => 'mysql', 
      'host' => env('DB_HOST', 'localhost'), 
      'port' => env('DB_PORT', '3306'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
      'engine' => null, 
     ], 

    ], 

.ENV文件

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=base64:O+sV9+HC6/sg1PE4blPO4iJVlxmvJwVMJkO14O0HRL0= 
APP_URL=http://localhost 

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=expediente_orto 
DB_USERNAME=root 
DB_PASSWORD= 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 
+0

請檢查由xampp和wamp提供的MySQL版本。可能它們是不同的。 –

+0

@ HirendrasinhS.Rathod MariaDB和Mysql一樣嗎? 。 Xampp使用MariaDB和Wamp Mysql。在我的數據庫文件中,我使用相同的配置,並獲得了連接。 –

+0

嗨,我沒有更多的知識,關於DB,但你可以在https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/發現一些有用的東西 –

回答

0

我找到了解決辦法。 MariaDB默認使用InnoDB引擎,但是,Mysql默認使用MyISAM,最後一個不支持關係。

我更改Database.php默認使用InnoDB。它解決了。

'engine' => 'InnoDB',