六个月前,我使用Laravel和Xampp,我使用了迁移,一切正常。
现在在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 :(得分:0)
我找到了解决方案。 MariaDB默认使用InnoDB引擎,但是,Mysql默认使用MyISAM,最后一个不支持关系。
我默认将Database.php更改为使用InnoDB。它成功了。
'engine' => 'InnoDB',