久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

laravel migrate初學常見錯誤的解決方法

之前給大家介紹了關于laravel migrate入門的基礎,下面這篇文章主要給大家介紹了關于laravel migrate初學時常見錯誤的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借

前言

最近斷斷續(xù)續(xù)開始 laravel 入門學習,想整個簡單的通訊錄系統(tǒng),設立了兩個表,一個 branches ,一個 contacts。在創(chuàng)建 migration 文件的時候,沒有考慮仔細,先把 contacts 表建立了,contacts 表有個外鍵連接到 branches 的 id,結果執(zhí)行 migrate 命令的時候,出現(xiàn)以下錯誤:

[Illuminate\Database\QueryException] 
 
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `contacts` add constraint `contac 
 
ts_branch_id_foreign` foreign key (`branch_id`) references `branches` (`id`) on delete cascade) 
 
[PDOException] 
 
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint 

初步懷疑是表創(chuàng)建先后不規(guī)范造成,于是,手動修改 branches 的 migration 文件名稱上的日期,再執(zhí)行

php artisan migrate:reset 

出現(xiàn)如下錯誤:

[ErrorException] 
 
include(/Users/Ade/www/laravel_phonebook5.2): failed to open stream: Operation now in progress 

failed to open stream 錯誤解決

光看錯誤提示不是很理解,我們查看 laravel 的 log 文件

more storage/logs/laravel.log 

找到出現(xiàn) ERROR 的那段話:

[2016-09-29 18:05:35] local.ERROR: exception 'ErrorException' with message 'include(/Users/Ade/www/laravel_phonebook5.2): failed to open stream: Operation now in progress' in /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php:412 
Stack trace: 
#0 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(412): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'include(/Users/...', '/Users/Ade/www/...', 412, Array) 
#1 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(412): Composer\Autoload\includeFile() 
#2 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(301): Composer\Autoload\includeFile('/Users/Ade/www/...') 
#3 [internal function]: Composer\Autoload\ClassLoader->loadClass('CreateBranchesT...') 
#4 /Users/Ade/www/laravel_phonebook5.2/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(335): spl_autoload_call('CreateBranchesT...') 
#5 /Users/Ade/www/laravel_phonebook5.2/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(227): Illuminate\Database\Migrations\Migrator->resolve('2016_09_12_1728...') 
#6 /Users/Ade/www/laravel_phonebook5.2/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(206): Illuminate\Database\Migrations\Migrator->runDown(Object(stdClass), false) 

錯誤出現(xiàn)在 ClassLoader.php 文件的 412 行

查看改行代碼,發(fā)現(xiàn)是一個調用文件的語句:

laravel migrate初學常見錯誤的解決方法

而這個文件,在 log 文件中已經(jīng)指出,即 resolve('2016_09_12_1728...') 。log 提示的這個名稱,就是我修改的 branch 的 migration 文件名稱。

我們再搜搜正常的 migration 文件會在哪些地方出現(xiàn):

mdfind 2014_10_12_000000_create_users_table.php|grep phonebook 

laravel migrate初學常見錯誤的解決方法

可見,正常的有 3 個地方出現(xiàn),修改過的只有 1 個地方出現(xiàn)。

編輯這兩個未出現(xiàn)的文件

調整 autoload_static.php 文件

發(fā)現(xiàn) vendor/composer/autoload_static.php 文件中,和 branches 相關的語句如下:

'CreateBranchesTable' => __DIR__ ., 

想來應該是改名的時候,PHP Storm自動幫我把這個文件里面有關 branches 文件路徑全部給刪掉了。加回去就好了。
參照正常的 migration 文件名的配置情況,補充為

'CreateBranchesTable' => __DIR__ . '/../..' . '/database/migrations/2016_09_12_172822_create_branches_table.php', 

調整 autoload_classmap.php 文件

我們發(fā)現(xiàn) autoload_classmap.php 文件中,有關 branches 的路徑名還是修改前的路徑:

'CreateBranchesTable' => $baseDir . '/database/migrations/2016_09_29_172822_create_branches_table.php', 

將其修改為

'CreateBranchesTable' => $baseDir . '/database/migrations/2016_09_12_172822_create_branches_table.php', 
【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇laravel ORM 只開啟created_at的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇基于php雙引號中訪問數(shù)組元素報錯的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了如何通過源碼解析Laravel的依賴注入的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規(guī)則的優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
最近在使用laravel5.5,利用其實現(xiàn)了一個功能,下面分享給大家,這篇文章主要給大家介紹了關于Laravel 5.5基于內置的Auth模塊如何實現(xiàn)前后臺登陸的相關資料,文中通過示例代碼介紹的非
laravel 的隊列服務對各種不同的后臺隊列服務提供了統(tǒng)一的 API,下面這篇文章通過源碼分析給大家介紹了關于 Laravel 重復執(zhí)行同一個隊列任務的原因,文中通過示例代碼介紹的非常詳細
主站蜘蛛池模板: 成人午夜av | 成人高清在线 | 欧美黑人一区二区三区 | 免费看片在线播放 | 成人av一区 | 中文字幕一区二区三区四区五区 | 日韩国产中文字幕 | 欧美精品在线一区二区三区 | h视频在线观看免费 | 精品视频久久久久久 | 欧美精品一区二区在线观看 | 麻豆久久久久久久久久 | 欧美人成在线视频 | 久草视频在线播放 | 欧美久久久网站 | 日日综合 | 国产亚洲一区二区在线观看 | 精品欧美一区二区三区免费观看 | 国产福利观看 | 日本一本视频 | 欧美成人一区二区三区 | 婷婷在线免费 | 亚洲国产精品福利 | 国内久久精品 | 久久国产精品无码网站 | 欧美午夜视频 | 日韩欧美在 | 欧美日韩精品国产 | 亚洲一区二区在线播放 | 日本精品视频一区二区三区四区 | 密室大逃脱第六季大神版在线观看 | 手机在线一区二区三区 | 国产高清一区二区三区 | 免费在线成人 | www.中文字幕.com | 国产人成精品一区二区三 | 国产精品高清在线 | 中文字幕乱码一区二区三区 | 影音先锋欧美资源 | 伊人影院99| 日本精品视频在线 |