成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

匯總laravel migrate的一些常見錯誤

下面由Laravel教程欄目給大家介紹關(guān)于laravel migrate初學(xué)的一些常見錯誤及其解決辦法,希望對大家有所幫助!

前言

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

[IlluminateDatabaseQueryException]    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): IlluminateFoundationBootstrapHandleExceptions->handleError(2, 'include(/Users/...', '/Users/Ade/www/...', 412, Array)  #1 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(412): ComposerAutoloadincludeFile()  #2 /Users/Ade/www/laravel_phonebook5.2/vendor/composer/ClassLoader.php(301): ComposerAutoloadincludeFile('/Users/Ade/www/...')  #3 [internal function]: ComposerAutoloadClassLoader->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): IlluminateDatabaseMigrationsMigrator->resolve('2016_09_12_1728...')  #6 /Users/Ade/www/laravel_phonebook5.2/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(206): IlluminateDatabaseMigrationsMigrator->runDown(Object(stdClass), false)

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

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

匯總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)的文件

調(diào)整 autoload_static.php 文件

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

'CreateBranchesTable' => __DIR__ .,

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

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

調(diào)整 autoload_classmap.php 文件

我們發(fā)現(xiàn) autoload_classmap.php 文件中,有關(guān) 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',

再執(zhí)行 migrate 命令

php artisan migrate:reset

匯總laravel migrate的一些常見錯誤

OK,剛才的錯誤沒了,不過我們又發(fā)現(xiàn) contacts 表沒有回滾,

contacts 回滾失敗的分析

通過 sequel pro 連上數(shù)據(jù)庫查看

匯總laravel migrate的一些常見錯誤

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

php artisan migrate

我們先忽視創(chuàng)建 contacts 表出現(xiàn)的錯誤,刷新 sequel pro 查看一下:

匯總laravel migrate的一些常見錯誤

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

contacts 無法創(chuàng)建 branch_id 外鍵的解決

現(xiàn)在,我們已經(jīng)執(zhí)行了 migrate 命令,我們重新來看看這個最早出現(xiàn)的錯誤:

[IlluminateDatabaseQueryException]    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    anches` (`id`) on update cascade)    [PDOException]    SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

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

匯總laravel migrate的一些常見錯誤

果然,執(zhí)行返回錯誤。

仔細查看語句并沒有錯誤,一想,應(yīng)該是 branch_id 類型聲明和 branches 表中的 ID 類型不一致造成的吧。查看 contacts 的結(jié)構(gòu),發(fā)現(xiàn) Unsigned 沒有打鉤,勾選后再執(zhí)行增加外鍵的 SQL 語句,成功。

匯總laravel migrate的一些常見錯誤

找到問題原因后,我們就清空數(shù)據(jù)庫,修改 contacts 的 migration 文件,調(diào)整 branch_id 為:

$table->integer('branch_id')->unsigned()->comment('機構(gòu)ID');

再重新執(zhí)行 migrate 命令,成功!

匯總laravel migrate的一些常見錯誤

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
亚洲熟妇一区二区三区| 亚洲一区在线曰日韩在线| 亚洲AV日韩AV成人AV| 小东西几天没做又紧了| 亚洲AV无码一区二区三区DV| 亚洲AV永久无码精品无码影片| 亚洲国产欧洲综合997久久| 亚洲日韩国产一区二区三区| 在办公室里揉弄小雪好爽| 97免费公开在线视频| 99热精国产这里只有精品| 成.人.大.片在线观看| 国产成人精品A视频免费福利| 国产乱码一区二区三区| 黑人强伦姧人妻完整版| 久久久免费无码成人影片| 女生裙子里面到底穿了啥| 日本熟妇人妻ⅩXXXX| 无码少妇xxxx| 亚洲熟女乱色一区二区三区| 696969大但人文艺术正道| 成人毛片一区二区| 国产日产免费高清欧美一区| 久久国内精品自在自线400部| 男女一起差差差差差| 搡老女人老熟妇HHD| 亚洲AⅤ无码一级毛片孕交| 亚洲最新无码成AV人| JAPONENSIS性护士| 国产精品久久久久秋霞鲁丝| 久久精品国产欧美日韩| 欧洲AV无码放荡人妇网站| 无码久久精品国产亚洲AV影片| 亚洲熟妇无码V在线观看| DIPTYQUE含羞草香薰| 国产精品久久久尹人香蕉| 久久久久99精品国产片| 人人人爽人人澡人人高潮| 亚洲AV成人永久无在线观看| 中文字幕AV在线一二三区| 公和熄洗澡三级中文字幕| 极品少妇XXXX精品少妇小说| 欧美精品久久久久久精品爆乳 | 欧美成人V片观看| 屠户家的小娇花哒哒啦爱你| 一对浑圆的胸乳被揉捏| 大桥未久亚洲无AV码在线| 亚洲另类自拍丝袜第五页| 337P日本大胆欧洲色噜噜| 国产精品99精品无码视亚| 久久伊人色AV天堂九九| 少妇人妻陈艳和黑人教练| 夜夜未满十八勿进的爽爽影院| 豆国产96在线 | 亚洲| 久久久久久久久久精品电影| 少妇久久久被弄到高潮| 一本无码字幕在钱少妇人妻| 国产成人A∨麻豆精品| 鲁一鲁一鲁一鲁一澡| 无码夫の前で人妻を侵犯| 18一20岁GAYXXⅩ男| 国产伦精品一区二区三区妓女| 妺妺窝人体色www婷婷| 无遮挡边吃摸边吃奶边做| 24小时日本在线| 国模少妇无码一区二区三区| 秋霞手机在线看秋免费| 亚洲欧美偷拍综合图区| 国产97色在线 | 国| 妺妺窝人体色WWW网站厕所盗摄| 小SB几天没做又欠CH| JAVAPARSER丰满白老师| 久久精品久久电影免费| 偷拍农村老熟妇XXXXX7视频| 97免费公开在线视频| 精品无码人妻夜人多侵犯18| 太大太长太粗太久太硬了| 18岁日韩内射颜射午夜久久成人| 好男人好资源影视在线| 日日摸日日碰夜夜爽暖暖视频| 约附近的寂寞妇女| 国产乱人伦偷精品视频免| 人妻熟女一区二区AⅤ波多野结衣| 亚洲一区二区三区无码中文字幕| 国产成人蜜桃AV无码永久免费| 欧美VPSWINDOWS另类| 亚洲系列精品少妇系列50P| 国产精品天干天干在线观看| 人人妻人人澡人人爽人人蜜臀| 曰本无码人妻丰满熟妇啪啪| 狠狠躁夜夜躁AV网站色| 双乳被一左一右吃着的感觉| JEAⅠOUSVUE成熟少归A| 老熟妇XXXⅩHD老熟女| 亚洲国产AV一区二区三区丶| 国产成人综合亚洲精品| 人妻无码ΑV中文字幕久久琪琪布| 曰本A级毛片无卡免费视频| 精品久久人妻AV中文字幕| 午夜无码无遮挡在线视频| 东北老女人高潮大叫对白| 欧美人与动牲交A欧美精品| 有人有在线观看的片吗WWW| 后进式疯狂摇乳无遮挡GIF| 无码人妻一区二区三区免费看| 成人毛片亚洲高潮无码精品色| 欧美嫩FREEXXXHD| 中文字幕少妇人妻av护士人妻 | 从后面糟蹋成功视频| 欧美极品少妇XXXXⅩ喷水| 玉米地诱子偷伦初尝云雨孽欲| 交换配乱吟粗大SNS840| 小雪被老外黑人撑破了视频 | 岳好紧好紧我要进去了电影| 久久99久久99精品中文字幕 | 国产精品美女一区二区三区| 色欲色欲天天天WWW亚洲伊| 菠萝菠萝蜜在线观看| 欧美婷婷丁香五月社区| 98精产国品一二三产区区| 麻豆国产96在线日韩麻豆| 一本加勒比波多野结衣高清| 九九视频麻婆豆腐在线观看| 亚洲成AⅤ人在线观看无码| 国精产品一二二区视早餐有限| 无套内谢的新婚少妇国语播放| 国产成人A视频高清在线观看| 少妇愉情理伦片丰满丰满午夜| 丁香色欲久久久久久综合网| 日日玩日日摸日日上| 大肉大捧一进一出视频| 色综合精品无码一区二区三区| 吃花核心舌头在里面旋转| 色婷婷六月亚洲综合香蕉| 高潮喷视频在线无码| 天美传媒自制剧免费观看 | AK福利利电影在线看视频| 内射女校花一区二区三区| 69久久夜色精品国产69| 欧美成人国产精品视频蜜芽| A级毛片毛片免费观看丝瓜| 欧洲多毛裸体XXXXX| 成年女人A级毛片免费观看| 日韩乱码人妻无码超清蜜桃丨| 成人综合婷婷国产精品久久蜜臀| 色综合久久久无码中文字幕波多 | 精品浪潮av一区二区三区| 亚洲日韩∨A无码中文字幕| 久久国产精品成人免费| 一边做一边喷17P| 男女真人后进式猛烈动态图无打吗| CHINA东北女人对话过瘾| 日本肉体裸交ⅩXXXBBBB| 公翁大龟挺进秀婷全文免费阅读| 玩弄CHANEL妇熟女| 国语自产第1国语自产第10页| 亚洲国产精品久久一线APP| 久久久久亚洲AV无码专| 中文字幕无码日韩AV| 人妻中出受孕 中文字幕在线| 肥臂熟妇高潮一区二区三区| 小洞饿了想吃大香肠喝热牛奶是| 精品国产VA久久久久久久冰| 玉蒲团Ⅲ艳乳叶媚子| 人妻18毛片A级毛片免费看| 国产 熟女 高潮 www| 亚洲AV日韩AV高潮喷潮无码天| 久久精品国产99久久无毒不卡 | 超碰97人人做人人爱2020| 无码精品人妻 中文字幕| 娇小XXXXBXBⅨ黑人XX| 中文字幕人成无码人妻| 日本高清WWW色视频| 国产精品色吧国产精品| 亚洲人成无码网WWW电影麻豆| 男男19禁啪啪无遮挡免费| 房东天天吃我奶躁我| 亚洲AV无码久久精品蜜桃| 老熟女媾交系列群| 成人A毛片免费全部播放| 亚洲AⅤ日韩AV无码COM| 老狼一区忘忧草欢迎您大豆| 被三个男人绑着躁我好爽| 午夜AV无码福利免费看网站 | 国产精品免费精品自在线观看| 亚洲另类人妻小说| 欧美另类VIDEOSSEXO潮| 国产精品露脸国语对白| 亚洲综合成人婷婷五月在线观看| 欧洲S码亚洲M码精品一区| 国产品无码一区二区三区在线蜜桃| 一本加勒比HEZYO无码人妻| 日本高清无卡码一区二区| 国精品无码一区二区三区左线| 18禁美女黄网站色大片在线| 天堂AⅤ无码一区二区三区| 久久精品第一国产久精国产宅男6| 把腿张开老子cao烂你在线视频| 亚洲AV无码一区二区乱孑伦AS| 欧美老熟妇手机在线观看|