Xampp 没有建立关系,Wamp 使用迁移 Laravel 做到了
Posted
技术标签:
【中文标题】Xampp 没有建立关系,Wamp 使用迁移 Laravel 做到了【英文标题】:Xampp does not make relationship and Wamp does it ,using mirgrations Laravel 【发布时间】:2016-10-14 16:48:21 【问题描述】:六个月前,我将 Laravel 与 Xampp 一起使用,我使用了迁移并且一切正常。
现在在 Wamp 中,我遇到了一个错误。当我运行php artisan migrate
时,我可以看到桌子在那里,但关系没有。我在 phpmyadmin 上检查了设计器模式。
我尝试了 Xampp,当我运行 php artisan migrate
时,我可以看到那里的表格以及关系。我在 phpmyadmin 上检查了设计器模式。
我读到 Xampp 使用 MariaDB 和 Wamp mysql ,但是当我六个月前使用 Xampp 时,我记得 Xampp 也在使用 Mysql。
我不明白为什么我没有更改数据库配置并且我可以同时连接两者。你能看出有什么问题吗? .我知道 MariaDB 和 Mysql 几乎一样,但是,我不明白为什么我不能在 Wamp 上创建与迁移的关系,我需要使用 Wamp
这是我的文件。
数据库.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
【问题讨论】:
请检查 xampp 和 wamp 提供的 MySQL 版本。可能他们不一样。 @HirendrasinhS.Rathod MariaDB 和 Mysql 一样吗? . Xampp 使用 MariaDB 和 Wamp Mysql。在我的数据库文件中,我使用相同的配置并且我得到了连接。 嗨,我对 DB 了解不多,但您可以在 mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility 找到一些有用的东西 【参考方案1】:我找到了解决方案。 MariaDB默认使用InnoDB引擎,但是,Mysql默认使用MyISAM,最后一个不支持关系。
我将 Database.php 更改为默认使用 InnoDB。它成功了。
'engine' => 'InnoDB',
【讨论】:
以上是关于Xampp 没有建立关系,Wamp 使用迁移 Laravel 做到了的主要内容,如果未能解决你的问题,请参考以下文章