Laravel Migration

在使用migration功能之前晚顷,請至少閱讀三遍官方文檔

migration功能雖然表面看上去比較簡單掌眠,但其中要是一不留神,就會遇到很多很多錯誤

功能

快速命令

  • 創(chuàng)建模型并生成migration文件
    php artisan make:model <model> -m
  • 快速回滾
    php artisan migrate:rollback
  • 快速填充
    php artisan migrate --seed
  • 快速回滾填充
    php artisan migrate:refresh --seed

設置

  • 指定存儲引擎(默認MyISAM)
    $table->engine = 'InnoDB';
  • 指定自增主鍵
    $table->increments('id');
  • 可空timestamp
    $table->nullableTimestamps();
  • 軟刪除
    $table->softDeletes();
  • 字段說明
    $table->string('code')->comment('編碼');
  • 外鍵約束
$table->integer('foreign_id')->nullable()->unsigned()->comment('comment');
$table->foreign('foreign_id')->references('id')->on('foreign_talbe')->onDelete('cascade');

特別注意

1创葡、外鍵問題
在添加外鍵的時候创肥,一定要確保依賴的外鍵表要提前創(chuàng)建。
如果已經(jīng)創(chuàng)建了瞎访,則可以通過修改migration文件名的時間來更改migration的生成順序腻贰。

2、model factory
model factory用于定義假數(shù)據(jù)扒秸,具體用法可以參考fzaninotto/faker的用法

  • 創(chuàng)建關聯(lián)外鍵
    在model factory文件中播演,可以使用elequent將數(shù)據(jù)取出來,可以參考以下用法
$sales_orders = NewSalesOrder::select('id', 'code')->get()->toArray();

  • 多個model factory文件
    可以將model factories文件分割成單個文件伴奥,即每個model的factory定義都保存在一個單獨的文件下(只需要放在/database/factories下即可)写烤,文件名可以命名為<ModelFactory.php>即可

3、seeder
在定義好migration和model factory之后拾徙,在seeder里面調用即可(要注意順序洲炊,否則可能外鍵關聯(lián)會出現(xiàn)問題)

factory(Chemical::class, 10)->create();

4、更改模型名或表名
如果需要更改表名,不推薦直接修改migration定義的文件名暂衡,因為需要修改的地方很多询微,而且還導致migration文件里面的記錄跟migation文件不一致而導致回滾出現(xiàn)問題(對于團隊來說簡直是災難)
推薦使用laravel migration的更改表名的功能

5、要特別關注migations數(shù)據(jù)表
新手在使用的時候狂巢,或多或少都會遇到一些問題撑毛,導致migrations表的記錄和實際生成的數(shù)據(jù)表不一致

6、推薦一次只創(chuàng)建一個表
確定沒問題后唧领,再創(chuàng)建新的表藻雌。因為migration的錯誤提示,有時候并不是很明確指明問題出現(xiàn)在哪里

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末斩个,一起剝皮案震驚了整個濱河市蹦疑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萨驶,老刑警劉巖歉摧,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腔呜,居然都是意外死亡叁温,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門核畴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膝但,“玉大人,你說我怎么就攤上這事谤草「” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵丑孩,是天一觀的道長冀宴。 經(jīng)常有香客問我,道長温学,這世上最難降的妖魔是什么略贮? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮仗岖,結果婚禮上逃延,老公的妹妹穿的比我還像新娘。我一直安慰自己轧拄,他們只是感情好揽祥,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著檩电,像睡著了一般拄丰。 火紅的嫁衣襯著肌膚如雪桅打。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天愈案,我揣著相機與錄音挺尾,去河邊找鬼。 笑死站绪,一個胖子當著我的面吹牛遭铺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播恢准,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼魂挂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馁筐?” 一聲冷哼從身側響起涂召,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎敏沉,沒想到半個月后果正,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡盟迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年秋泳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片攒菠。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡迫皱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辖众,到底是詐尸還是另有隱情卓起,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布凹炸,位于F島的核電站戏阅,受9級特大地震影響,放射性物質發(fā)生泄漏还惠。R本人自食惡果不足惜饲握,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一私杜、第九天 我趴在偏房一處隱蔽的房頂上張望蚕键。 院中可真熱鬧,春花似錦衰粹、人聲如沸锣光。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽誊爹。三九已至蹬刷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間频丘,已是汗流浹背办成。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搂漠,地道東北人迂卢。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像桐汤,于是被迫代替她去往敵國和親而克。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一怔毛、保存復雜的配置 場景:例如對于一個用戶系統(tǒng)员萍,需要很多字段來保存不同的配置,如果要為每個配置都添加一個字段的話拣度,...
    zshanjun閱讀 527評論 0 0
  • 基于5.1 零 碎绎、關閉debug .env文件 一、Laravel 數(shù)據(jù)庫操作 1.1查詢構建器(Query B...
    皮丘吉爾閱讀 850評論 0 0
  • 1抗果、岳陽樓 姜善蛇 40元一斤 2混卵、想吃巴厘龍蝦 208元 3、臺北路王師傅豆皮 7元 4窖张、黃太婆熱干面 馬上成為...
    順便啊閱讀 289評論 0 0
  • 事情是這樣的幕随,你要理解一個不常看到雪的南方人在北方的寒冬里看到大雪紛飛之后的激動與狂喜宿接。原諒我只有粗糙的雙手赘淮,只能...
    鹿暮小姐i閱讀 330評論 0 3
  • “我希望有個如你一般的人 如山間清爽的風 如古城溫暖的光 從清晨到夜晚 由山野到書房 只要最后是你 就好” 今晚連...
    清淺行閱讀 227評論 0 1