精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

初學laravel migrate常見錯誤解決

開發 后端
斷斷續續開始 laravel 入門學習,想整個簡單的通訊錄系統,設立了兩個表,一個 branches ,一個 contacts。在創建 migration 文件的時候,沒有考慮仔細,先把 contacts 表建立了,contacts 表有個外鍵連接到 branches 的 id,結果執行 migrate 命令的時候,出現以下錯誤。

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

  1. [Illuminate\Database\QueryException] 
  2.  
  3. SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `contacts` add constraint `contac 
  4.  
  5. ts_branch_id_foreign` foreign key (`branch_id`) references `branches` (`id`) on delete cascade
  6.  
  7. [PDOException] 
  8.  
  9. SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint  

初步懷疑是表創建先后不規范造成,于是,手動修改 branches 的 migration 文件名稱上的日期,再執行

  1. php artisan migrate:reset 

出現如下錯誤:

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

failed to open stream 錯誤解決

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

  1. more storage/logs/laravel.log 

找到出現 ERROR 的那段話:

  1. [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 
  2. Stack trace: 
  3. #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) 
  4. #1 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(412): Composer\Autoload\includeFile() 
  5. #2 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(301): Composer\Autoload\includeFile('/Users/Ade/www/...'
  6. #3 [internal function]: Composer\Autoload\ClassLoader->loadClass('CreateBranchesT...'
  7. #4 /Users/Ade/www/laravel_phonebook5.2/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(335): spl_autoload_call('CreateBranchesT...'
  8. #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...'
  9. #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

錯誤出現在 ClassLoader.php 文件的 412 行

查看改行代碼,發現是一個調用文件的語句: 

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

我們再搜搜正常的 migration 文件會在哪些地方出現:

  1. mdfind 2014_10_12_000000_create_users_table.php|grep phonebook 

可見,正常的有 3 個地方出現,修改過的只有 1 個地方出現。

編輯這兩個未出現的文件

調整 autoload_static.php 文件

發現 vendor/composer/autoload_static.php 文件中,和 branches 相關的語句如下:

  1. 'CreateBranchesTable' => __DIR__ ., 

想來應該是改名的時候,PHP Storm自動幫我把這個文件里面有關 branches 文件路徑全部給刪掉了。加回去就好了。

參照正常的 migration 文件名的配置情況,補充為

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

調整 autoload_classmap.php 文件

我們發現 autoload_classmap.php 文件中,有關 branches 的路徑名還是修改前的路徑:

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

將其修改為

  1. 'CreateBranchesTable' => $baseDir . '/database/migrations/2016_09_12_172822_create_branches_table.php'

再執行 migrate 命令

  1. php artisan migrate:reset 

 OK,剛才的錯誤沒了,不過我們又發現 contacts 表沒有回滾,

contacts 回滾失敗的分析

通過 sequel pro 連上數據庫查看

發現 contacts 表果然存在,但是 migration 表中已沒有內容,想必再執行前面 migrate 命令的時候出現錯誤,contacts 的執行記錄并沒有寫入 migrations 表中。我們可以重新執行 migrate 命令試試看。首先手動刪除這兩張表,也就是清空數據庫,然后執行:

  1. php artisan migrate 

我們先忽視創建 contacts 表出現的錯誤,刷新 sequel pro 查看一下:

果然,migration 表中沒有 contacts 的創建記錄,這也就難怪執行 reset 的時候,會沒有 contacts 的回滾操作了。

contacts 無法創建 branch_id 外鍵的解決

現在,我們已經執行了 migrate 命令,我們重新來看看這個最早出現的錯誤:

  1. [Illuminate\Database\QueryException] 
  2.  
  3. SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `contacts` add constraint `contacts_branch_id_foreign` foreign key (`branch_id`) references `br 
  4.  
  5. anches` (`id`) on update cascade
  6.  
  7. [PDOException] 
  8.  
  9. SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint  

冷靜下來分析一下,既然提示的是 SQL 錯誤,我們不妨在 sequel pro 中手工執行一下這條 SQL 語句。 

果然,執行返回錯誤。

仔細查看語句并沒有錯誤,一想,應該是 branch_id 類型聲明和 branches 表中的 ID 類型不一致造成的吧。查看 contacts 的結構,發現 Unsigned 沒有打鉤,勾選后再執行增加外鍵的 SQL 語句,成功。

找到問題原因后,我們就清空數據庫,修改 contacts 的 migration 文件,調整 branch_id 為: 

  1. $table->integer('branch_id')->unsigned()->comment('機構ID'); 

再重新執行 migrate 命令,成功!

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2020-11-05 18:53:15

JavaScript開發前端

2017-04-07 09:02:06

Spark方法優化

2010-04-19 14:33:06

Oracle tns配

2011-05-18 14:44:13

mysql1046錯誤

2013-05-30 14:21:38

2009-12-30 15:29:14

2011-06-08 09:37:19

C#Equals

2011-05-16 09:54:22

mysql1067錯誤

2022-10-19 23:18:27

KubernetesPod錯誤

2015-12-21 11:45:27

C語言常見問題錯誤

2009-12-18 11:03:45

Ruby watir環

2013-08-13 13:38:13

Android錯誤解決

2010-01-22 15:42:01

VB.NET錯誤

2010-07-27 11:19:18

Flex

2010-08-11 10:41:22

AdobeFlex

2010-05-26 13:14:22

MySQL錯誤解決方案

2019-10-09 13:39:39

Python編程語言異常錯誤

2010-07-08 14:24:21

SQL Server

2010-01-18 14:41:33

VB.NET抓取網頁

2012-08-15 14:01:18

點贊
收藏

51CTO技術棧公眾號

黄色av一级片| 不卡的一区二区| 天堂а√在线资源在线| 久久福利视频一区二区| 色综合久久88色综合天天看泰| 久久黄色一级视频| 在线免费三级电影网站| 国产精品久久久久婷婷| 成人一区二区三区四区| 国产精品久久久久久久久夜色| 99久久夜色精品国产亚洲96 | 亚洲第一中文av| 成人免费高清| 国产亚洲综合在线| 国产aⅴ精品一区二区三区黄| 男人天堂视频网| 欧美日韩国产探花| 一本色道久久88亚洲综合88| 潘金莲一级淫片aaaaa| 国产一区二区三区朝在线观看| 一区二区三区成人| 亚洲一区二区精品在线| 先锋av资源站| 国产成人精品免费网站| 国产精品亚洲网站| 国产精品国产三级国产专区52| 911精品美国片911久久久| 亚洲美女性视频| 欧美日韩人妻精品一区在线| 日韩欧乱色一区二区三区在线| 精品高清一区二区三区| 大地资源网在线观看免费官网| 搞黄视频免费在线观看| 97精品国产97久久久久久久久久久久| 成人精品在线视频| 中文字幕欧美人妻精品一区蜜臀| 中文日韩在线| 久久久噜噜噜久久久| 国产老头老太做爰视频| 欧美一级精品| 亚洲色图35p| 亚洲av无码成人精品国产| julia中文字幕一区二区99在线| 欧美日韩美女一区二区| 男女啪啪网站视频| 怡红院成人在线| 欧美日韩亚洲一区二区| 可以在线看的av网站| 日韩激情av| 亚洲激情自拍视频| 男女爱爱视频网站| 菠萝菠萝蜜在线观看| 中文字幕一区二区三区精华液| 午夜精品一区二区在线观看 | 在线免费观看亚洲| 欧美欧美欧美欧美首页| 潘金莲激情呻吟欲求不满视频| 亚洲www啪成人一区二区| 日本高清视频一区二区| 国产裸体免费无遮挡| 日韩精品99| 欧美三级电影网| 亚洲精品成人在线播放| av一级久久| 日韩一级大片在线观看| www.四虎精品| 伦理一区二区| 亚洲欧洲在线播放| 超薄肉色丝袜一二三| 三级电影一区| 久99久在线视频| 国产无遮挡又黄又爽| 国产欧美一级| 国产精品极品尤物在线观看| 一区二区三区午夜| 国产成人av网站| 免费在线观看91| 91啦中文在线| 亚洲精品一卡二卡| 亚洲 自拍 另类小说综合图区| 免费毛片b在线观看| 91福利精品视频| 四季av一区二区三区| 综合激情网...| 亚洲男子天堂网| 91麻豆精品久久毛片一级| 午夜欧美精品久久久久久久| 午夜精品福利视频| 最近国语视频在线观看免费播放| 久久91精品国产91久久小草| 国产精品午夜av在线| 国内av一区二区三区| 亚洲私人黄色宅男| 日本a级片免费观看| 国产一区二区三区四区五区3d| 欧美一级久久久| 丰满圆润老女人hd| 欧美在线亚洲综合一区| 亲子乱一区二区三区电影| 国产又粗又长又大视频| 99久精品国产| 亚洲小说欧美另类激情| 一二三四视频在线中文| 91精品午夜视频| 天天躁日日躁aaaxxⅹ| 欧美福利专区| 国产精品美女久久| 色呦呦免费观看| 亚洲人成在线观看一区二区| 三级4级全黄60分钟| 亚洲91网站| 三级精品视频久久久久| 午夜毛片在线观看| 国产精品一二三在| 亚洲免费视频一区| 日韩理论视频| 精品国产91九色蝌蚪| 波多野结衣欲乱| 日韩电影在线观看电影| 国产精品一区二区不卡视频| 男人和女人做事情在线视频网站免费观看| 亚洲一区二区中文在线| 亚洲欧美日本一区二区三区| 免费看日本一区二区| 欧美人交a欧美精品| 日韩久久久久久久久久| 91婷婷韩国欧美一区二区| 四虎永久国产精品| 一区二区三区短视频| 欧美丰满美乳xxx高潮www| 精品无人区无码乱码毛片国产| 激情久久久久| 亚洲一区二区三区成人在线视频精品 | 免费在线观看91| 俺来俺也去www色在线观看| 91精品国产综合久久福利软件| 天天摸日日摸狠狠添| 久久婷婷av| 久久久久久久久一区| bbw在线视频| 亚洲福利视频网站| 国产福利久久久| 99在线精品观看| 波多野结衣之无限发射| 免费看成人人体视频| 久久久久久久999| 亚洲精品久久久久久动漫器材一区| 亚洲欧美综合在线精品| 日本人69视频| 久久久久亚洲| 51成人做爰www免费看网站| 成码无人av片在线观看网站| 欧美一区二区三区免费观看视频| 91麻豆免费视频网站| 国产在线一区二区综合免费视频| 欧美性受xxxx黑人猛交88| 视频成人永久免费视频| 久久久久久国产精品美女| 内射后入在线观看一区| 精品国产福利在线| 久久久久久久久久久久久久久| 日韩专区欧美专区| 亚洲自拍三区| 日韩区欧美区| 91精品国产99| 国产鲁鲁视频在线观看免费| 欧美日韩国产综合视频在线观看 | 亚洲电影在线免费观看| 日本一级片在线播放| 久久高清免费观看| 亚洲一区精品视频| 日韩08精品| 97人人爽人人喊人人模波多 | 欧美三级自拍| 国产精品扒开腿做| 国产网站在线免费观看| 精品国产网站在线观看| 久久国产黄色片| 国产精品久久看| 稀缺呦国内精品呦| 丝袜国产日韩另类美女| 黄色高清视频网站| 欧美人妖在线观看| 国产欧美va欧美va香蕉在| 日本欧美电影在线观看| 亚洲男人的天堂在线播放| 男人天堂视频网| 一级精品视频在线观看宜春院| 99久久国产精| 久久精品久久99精品久久| 日韩国产成人无码av毛片| 精品国产乱码久久久久久108| 蝌蚪视频在线播放| 在线成人午夜影院| 久久夜靖品2区| 国产精品久99| 五月天丁香社区| 视频一区视频二区中文| 九一免费在线观看| 精品久久一区| 国产一区二区在线网站| 日韩黄色三级| 日本成人黄色片| 一区二区三区伦理| 国产一区二区三区欧美| 国模私拍视频在线| 欧美高清视频不卡网| 久久黄色精品视频| 一个色综合网站| 农村老熟妇乱子伦视频| 91视频国产资源| 成人三级做爰av| 麻豆久久一区二区| 少妇高清精品毛片在线视频| 欧美日韩网址| 久久久国产精华液999999| 免费一区二区三区视频导航| 3d蒂法精品啪啪一区二区免费| 午夜av成人| 日韩免费在线观看视频| 僵尸再翻生在线观看| 欧美成人午夜激情在线| 裸体xxxx视频在线| 日韩成人中文电影| 国产小视频免费观看| 日韩一级片在线播放| 中文字幕自拍偷拍| 91国产免费观看| 日本视频网站在线观看| 激情懂色av一区av二区av| 久草网视频在线观看| 最新不卡av在线| 日韩欧美视频免费观看| 国产片一区二区| 亚洲精品国产熟女久久久| 99精品欧美一区二区三区小说| zjzjzjzjzj亚洲女人| 国产成人精品免费| 无码国产精品一区二区高潮| 国产乱理伦片在线观看夜一区| 国产又黄又猛的视频| 麻豆精品视频在线观看免费| 高清一区二区视频| 日本少妇一区二区| 91极品视频在线观看| 日本三级亚洲精品| 国产高清视频网站| 美女国产一区二区三区| 亚洲精品视频在线| 亚洲最大成人网站| 久久久精品黄色| 国产小视频自拍| 国产欧美一区视频| 男人天堂资源网| 中文字幕一区二区三区在线播放| 亚洲人做受高潮| 亚洲精品乱码久久久久| 亚洲精品在线观看av| 婷婷综合另类小说色区| 女人十八岁毛片| 欧美性猛交xxxx乱大交退制版 | 中文日韩在线| 四虎永久在线精品无码视频| 媚黑女一区二区| 亚洲高清免费在线观看| 国产一区亚洲一区| 亚洲精品久久一区二区三区777| 成人免费视频视频在线观看免费| 影音先锋人妻啪啪av资源网站| 91在线看国产| 精品熟妇无码av免费久久| 日韩理论片中文av| 国语对白一区二区| 色av综合在线| 国产手机av在线| 亚洲精品www| a黄色在线观看| 久久91精品国产| 麻豆mv在线观看| 国产精品永久免费| a级日韩大片| 日韩精品极品视频在线观看免费| 婷婷六月综合| 俄罗斯av网站| 久久99精品国产麻豆婷婷| www.美色吧.com| 中文字幕国产一区| 日韩av电影网| 欧美日韩国产高清一区| 好吊色一区二区| 自拍偷拍免费精品| 9999在线视频| 国产精品丝袜视频| 另类图片第一页| 一区二区三区日韩视频| 中文一区二区| 超级砰砰砰97免费观看最新一期 | 精品国内二区三区| 大片免费播放在线视频| 欧美激情2020午夜免费观看| 欧美三区四区| 国产一区二区在线网站| 久久久久久久久久久妇女| 黄在线观看网站| 国产成人av一区| 强制高潮抽搐sm调教高h| 欧美性猛交xxxx| 国产极品久久久| 中日韩美女免费视频网站在线观看 | 亚洲av无码乱码国产麻豆| 亚洲一区av在线播放| av资源中文在线天堂| 95av在线视频| 欧美国产美女| 热久久精品免费视频| 97久久精品人人澡人人爽| 五月天丁香激情| 在线观看91精品国产麻豆| 电影在线一区| 欧美与欧洲交xxxx免费观看| 国内精品国产成人国产三级粉色 | 欧美xxx黑人xxx水蜜桃| 国产欧美精品在线| 欧美理论在线播放| 极品粉嫩国产18尤物| 成人一区二区视频| 国产97免费视频| 欧美人与性动xxxx| 成人p站proumb入口| 欧美亚洲在线播放| 加勒比久久高清| 国产美女在线一区| 高清成人免费视频| 国产97免费视频| 日韩视频免费直播| 羞羞的视频在线观看| 亚洲自拍高清视频网站| 亚洲成av人电影| 国产一级免费大片| 亚洲视频在线一区二区| 国产又粗又大又爽视频| 日韩在线免费视频| 亚洲高清影院| 妞干网这里只有精品| 国产在线不卡一区| 欧美丰满艳妇bbwbbw| 日韩视频一区二区| 阿v视频在线| 久久国产精品精品国产色婷婷| 国产日韩欧美| 国产美女精品久久| 欧美午夜不卡在线观看免费| h视频在线免费| 国产色视频一区| 亚洲综合激情在线| 又色又爽又黄18网站| 亚洲成人免费视| 日韩电影在线观看完整版| 欧美一区二区三区精品电影| 亚洲男人都懂第一日本| 精品一区二区三区三区| 亚洲色欧美另类| 97婷婷涩涩精品一区| 日韩欧美ww| 午夜dv内射一区二区| 国产精品日日摸夜夜摸av| 在线免费观看一区二区| 久久成人精品视频| xxxx日韩| 粉嫩虎白女毛片人体| 日本一二三不卡| av中文字幕免费| 午夜精品久久久久久久男人的天堂 | 精品视频在线免费观看| 成年视频在线观看| 国产尤物99| 蜜臀99久久精品久久久久久软件| 国产精品夜夜夜爽阿娇| 欧美videos中文字幕| 涩涩视频在线播放| 亚洲在线不卡| 99久久精品国产一区| 成人一级免费视频| 九九精品视频在线观看| 日韩av网站在线免费观看| 激情视频免费网站| 亚洲国产日韩在线一区模特| 国产中文在线| 91色视频在线导航| 香蕉久久夜色精品国产| 四虎884aa成人精品| 精品视频在线播放色网色视频| 亚洲午夜剧场| 岳毛多又紧做起爽| 亚洲人成在线观看一区二区| 深夜福利在线观看直播| 国产在线播放91| 欧美在线综合| 美女毛片在线观看| 中文字幕精品久久|