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

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

匯總laravel migrate的一些常見錯誤

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

前言

最近斷斷續(xù)續(xù)開始 laravel 入門學(xué)習(xí),想整個簡單的通訊錄系統(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號
YASEE在线2021| 国产免费无码一区二区| 在线精品自偷自拍无码中文| 内射口爆少妇麻豆| 精品一区二区三区东京热| 国产精品毛片无遮挡高清| 粗大黑人巨精大战欧美成人| 97人妻人人做人碰人人爽| 亚洲一区二区三区蜜桃| 亚洲AV中文AⅤ无码AV不卡| 偷窥 亚洲 另类 图片 熟女| 日本做受高潮好舒服视频| 欧美老妇交乱视频在线观看| 妺妺窝人体色WWW国产馆在线 | 全棵女性艺术写真| 免费AV片在线观看网址| 狼人青草久久网伊人| 久久久久国产综合AV天堂| 狠狠色婷婷久久一区二区三区| 国产青草视频在线观看| 国产精品自产Av一区二区三区| 国产精品99久久免费观看| 国产精品久久久久7777按摩| 精二和精三的区别| 精品人妻系列无码人妻免费视频| 黑人巨大跨种族VIDEO| 麻豆国产AV丝袜白领传媒| 巨大黑人极品videos精品| 人妻互换免费中文字幕| 人妻中字视频中文乱码| 日本久久久久久久久久加勒比| 日本三级欧美三级人妇视频黑白配| 无码人妻一区二区三区免水牛视频| 无码精品毛片波多野结衣| 小SAO货边洗澡边CAO你动漫| 亚洲AV成人无码精品网站老司机| 亚洲AV无码乱码在线观看| 亚洲鲁丝片一区二区三区| 亚洲中文字幕无码第一区| 中文在线А√在线| JK制服白丝自慰出水| 锕锕锕锕锕锕~好湿WWW| 成人女人A级毛片免费软件| 高清国产AV一区二区三区 | 日韩成人无码一区二区三区| 日韩人妻无码视频| 未满十八18禁止午夜免费网站 | 国产精品视频永久免费播放| 国产麻豆MD传媒视频| 美女用香蕉练口活视频| 天天AV天天翘天天综合网| 亚洲AV噜噜狠狠网址蜜桃| 亚洲精品TY久久久久久久久久| 夜先锋AV资源网站| A级毛片无码兔费真人久久| 办公丝袜AV一区二区三区| 国产98在线 | 欧洲| 国产又粗又猛又爽又黄的视频在线 | 国产免费观看久久黄AV片| 免费看的WWW哔哩哔哩| 欧美人妻精品一区二区| 亚洲AV永久天码精品天堂DL| 一本大道香蕉大L在线吗视频| 冲动的惩罚动漫HD在线播放| 久久久精品国产SM调教网站 | 黑人上司粗大拔不出来| 人妻无码久久一区二区三区免费| 亚洲人ⅤSAⅤ国产精品| 337P日本欧洲亚洲大胆在线| 菠萝蜜视频网在线WWW| 国产人成无码视频在线软件| 女人和拘做受A级毛片| 色欲AⅤ蜜臀AV在线播放| 亚洲AV不卡无码国产| 薄荷奶糖(1V2)笔趣| 久久中文字幕AV一区二区不卡| 亲近相奷对白中文字幕片| 为了升职丈夫把我献给他们领导 | 蜜臀AV无码一区二区三区小说 | 色婷婷婷亚洲综合丁香五月| 亚洲AV无码AV有码AV| 成人免费乱码大片A毛片| 国内精品乱码卡一卡2卡三卡新区| 乱人伦人成品精国产在线| 亚洲 无码 国产精品| √最新版天堂资源网在线| 国产97色在线 | 国产| 男生把小j放进女人屁股视频狂躁 男生把手放进我内裤揉摸好爽 | 乱人伦人妻中文字幕无码| 亚洲成AV人在线视| AV一本大道香蕉大在线| 国产精品视频YJIZZ| 日本国产网曝视频在线观看| 337P日本大胆欧洲色噜噜| 久久国产精品一国产精品金尊| 人妻内射一区二区在线视频| 一級黃色毛片免費看| 国产成年无码V片在线| 久久人妻少妇嫩草AV无码专区| 搡BBB搡BBBB搡BBBB| CHINESE0LDMAN老汉| 泷泽萝拉AV种子| 亚洲日韩AV无码一区二区三区| 成人国产精品一区二区视频| 女邻居给我口爆18P| 一本色道久久88—综合亚洲精品| 好儿子妈妈今天就是你的女人| 欧美婷婷六月丁香综合色| 亚洲成AV人在线观看| 国产乱人伦精品一区二区在线观看| 少妇AAA级久久久无码精品片| 一边做一边潮喷18P| 精品国产成人A区在线观看| 日韩人妻不卡一区二区三区| Z0OZO0人善之交另类| 欧美黑人aAAAAAAa| 亚洲欧美偷拍另类A∨色屁股| 国精产品 自偷自偷| 亚洲A∨国产AV综合AV麻豆丫| 国产精品免费无遮挡无码永久视频| 少妇被躁C至高潮HD| 丰满的继牳3中文字幕系列| 麻豆国产AV丝袜白领传媒| 亚洲中文字幕无码久久2017| 久久久久99精品成人品| 咬住下唇动漫在线播放完整版| 国产精品久久久久9999赢消| 投诉12345最狠的办法| 国产成年无码AⅤ片在线观看| 天天摸夜夜添添到高潮水汪汪| 国产超碰人人模人人爽人人添| 双腿吊起揉捏花蒂| JZZIJZZIJ亚洲成熟少妇| 欧洲免费无线码在线一区| А√天堂资源官网在线资源| 人摸人人人澡人人超碰| 差差差无掩盖视频30分钟| 蜜臀AV无码精品人妻色欲| 坐着轮流提双腿能起到什么效果| 精产国品一二二线三线区别| 亚洲精品无码AV片| 国产沙发午睡系列999| 色五月激情中文字幕| 国产AV天堂无码一区二区三区| 人妻丰满熟妇无码AV| 厨房里抱着岳丰满大屁股| 视频在线一区二区三区| 草莓视频午夜在线观影| 色8激情欧美成人久久综合电影| 公粗挺进了我的密道在线观看| 无码AV人片在线观看天堂| 国产在线拍偷自揄拍无码| 亚洲精品午睡沙发系列 | 国产精品麻花传媒二三区别| 性高朝久久久久久久| 夫妻二人体验交换夫妻的后果| 无码人妻久久一区二区三区不卡 | 欧美一区二区三区性视频野战| 亚洲综合国产精品无码AⅤ| 蜜臀AV性久久久久蜜臀AⅤ| H无码动漫在线观看网站| 免费观看交性大片| 被强迫各种姿势侵犯N白月视频| 太多了太满了肚子装不下了| 成人无码A级毛片免费| 天天躁日日躁很很很躁| 狠狠躁夜夜躁人人躁婷婷视频| 性色AV无码一区二区三区人妻| 精品人妻A∨一区二区夫上司犯| 曰曰摸天天添天天湿| 久久综合色一综合色88| BGMBGMBGM欧美老妇| 少妇被躁爽到高潮无码| 无套内射AV二区| AV一本大道香蕉大在线| 日韩精品无码AV成人观看| 国产免费无遮挡吸奶头视频| 野花韩国在线观看免费版5| 欧洲美熟女乱又伦AV| 国产精品国产自线拍免费| 亚洲精品中文字幕乱码三区| 农民人伦一区二区三区| 富婆推油偷高潮叫嗷嗷叫| 亚洲AV怡红院AV男人的天堂| 免费国内接码在线接收| 俄罗斯人和欧洲人的性格差异| 日老太太毛茸茸B.内射| 成在人线AV无码免费看 | 麻豆国产在线精品国偷产拍| 错位关系C1V1一块五花肉 | 色欧美与xxxxx| 精品亚洲国产成人AV在线小说| wwwxxx一区二区| 亚洲AV美女一区二区三区| 牛牛影视亚洲AV成人片| 国产精品天天看天天狠| 中文字幕亚洲一区二区VA在线 | 欧美人与动XXXXZ0OZ| 国产亚洲AV片在线观看播放按摩| 亚洲AV乱码一区二区三区|