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

Laravel中數(shù)據(jù)遷移與數(shù)據(jù)填充的詳細步驟

這篇文章主要給大家介紹了關于Laravel中數(shù)據(jù)遷移與數(shù)據(jù)填充的相關資料,文中通過示例代碼給大家詳細介紹了實現(xiàn)的步驟,對大家的學習或者工作具有一定的參考學習價值,需要的朋友

前言

這是一篇基礎教程,對標 Laravel 文檔中的數(shù)據(jù)遷移和數(shù)據(jù)填充,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹把。

關于Laravel數(shù)據(jù)庫遷移的理解

最初看到laravel框架中遷移的時候,會以為這個遷移是把數(shù)據(jù)從一個數(shù)據(jù)庫中遷到另一個數(shù)據(jù)庫中,又或者是從一個服務器遷移到另一個服務器中。我自己學習有一個學習方法叫做顧名思義,所以所述是我的第一反應,但是學了以后發(fā)現(xiàn)這個遷移不是我理解中的遷移,但又不知道為什么叫做遷移,所以去百科查了一下。

遷移是指已經(jīng)獲得的知識、技能,甚至方法和態(tài)度對學習新知識、新技能的影響。這種影響可能是積極的,也可能是消極的,前者叫正遷移或簡稱遷移,后者叫負遷移或干擾。遷移首先是使習得的經(jīng)驗得以概括化、系統(tǒng)化,形成一種穩(wěn)定的整合的心理結構,從而更好地調節(jié)人的行為,并能動地作用于客觀世界。遷移是向能力轉化的關鍵。能力的形成一方面依賴于知識、技能的掌握;另一方面也依賴于所掌握知識和技能的不斷概括化、系統(tǒng)化。——引用于360百科

看完上面的百科說明,其實才明白什么叫做數(shù)據(jù)庫遷移,總結一下,遷移是指某種影響,所以數(shù)據(jù)庫遷移是通過對遷移文件的修改對數(shù)據(jù)庫造成的影響,這種影響其實就是操作數(shù)據(jù)庫。

換句通俗的話說,是在laravel中有一個文件,這個文件中寫了laravel本身內置的對數(shù)據(jù)庫的“命令“,例如可以創(chuàng)建修改刪除庫、表、字段。通過這些文件中的代碼,便可以通過版本控制達到控制數(shù)據(jù)庫的目的,至于如何通過文件操作數(shù)據(jù)庫,我們可以看文檔中的具體說明。

migration

Laravel 中提供了數(shù)據(jù)庫遷移的方式來管理數(shù)據(jù)庫,想象一個場景:在一個多人開發(fā)的項目中,你的同事修改了某個數(shù)據(jù)庫結構并修改了代碼,通過 git 你可以即時的同步同事修改的代碼,但是數(shù)據(jù)庫結構,你只能通過手工的方式來復制同事修改的 SQL 語句,執(zhí)行以保證數(shù)據(jù)庫的結構一致。那么,Laravel 中的數(shù)據(jù)庫遷移概念,就是用于解決團隊中保證數(shù)據(jù)庫結構一致的方案。

migration 使用非常簡單,編寫一定的 php 代碼并執(zhí)行,那么 Laravel 就會自動的更新數(shù)據(jù)庫。假設你的同事要修改數(shù)據(jù)庫某個字段,那么只要編寫 php 代碼,接著你通過 git 更新了代碼,執(zhí)行 migrate 操作之后,你的數(shù)據(jù)庫結構就和他的同步了。下面我們就來看具體的使用方法。

migrate

Laravel 把編寫數(shù)據(jù)庫改動的 php 代碼稱為遷移,可以通過 php artisan make:migration filename 的方式來創(chuàng)建遷移文件。假設你需要創(chuàng)建一張新的 user 表,那么你可以通過執(zhí)行 php artisan make:migration create_user_table --create=user 來創(chuàng)建一個遷移文件,執(zhí)行命令會在 database/migrations/ 目錄下建立一個 文件創(chuàng)建時間_filename 的 php 文件,那么這個文件就是我們接下來用來編寫數(shù)據(jù)庫結構變化的文件了。這里要提一點,雖然說創(chuàng)建遷移文件的名稱可以隨意,但是為了管理方便,最好文件名可以體現(xiàn)要執(zhí)行的數(shù)據(jù)庫操作,比如這里我們要創(chuàng)建一張 user 表,所以文件名稱為 create_user_table。

php artisan make:migration filename 有兩個可選參數(shù)

  • --create=tablename 表明該遷移是用來創(chuàng)建表。
  • --table=tablename 表明該遷移是用來對 tablename 這張表進行操作。

我們創(chuàng)建出來的遷移文件 create_user_table 會包含兩個方法。

public function up()
{
 Schema::create('user', function (Blueprint $table) {
  $table->increments('id');
  $table->timestamps();
 });
}


public function down()
{
 Schema::dropIfExists('user');
}

這兩個方法是互逆的操作,比如我們可以再 up 方法中編寫我們要創(chuàng)建的 user 表的相關信息,而 down 方法中則是刪除 user 表的操作。這樣,我們就可以做到回滾操作,當我們創(chuàng)建 user 表之后發(fā)現(xiàn)某個字段名寫錯了,就可以通過 down 來刪除 user 表,進而重新建立 user 表。

假設 user 表有 id,username,email 三個字段,那么可以再 up 方法中寫

public function up()
{
 Schema::create('user', function (Blueprint $table) {
  $table->increments('id')->index()->comment('用戶id');
  $table->string('name')->default('')->comment('用戶名');
  $table->string('email')->nullable()->comment('用戶郵箱');
  $table->timestamps();
 });
}
【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要給大家介紹了關于利用Homestead如何快速運行一個Laravel項目的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們
這篇文章主要給大家介紹了關于Laravel中Intervention/image圖片處理擴展包的安裝、使用與在使用可能遇到的坑的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一
這篇文章主要為大家詳細介紹了Laravel下生成驗證碼的類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Laravel以其簡潔、優(yōu)雅的特性贏得了大家的廣泛關注,無論是專家還是新手,在開發(fā)PHP項目的時候,都會第一時間的想到Laravel。本文我們將討論為什么Laravel會成為最成功的PHP框架
本篇文章主要介紹了Laravel 批量更新多條數(shù)據(jù)的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了laravel5 使用try catch的相關知識,需要的朋友可以參考下
主站蜘蛛池模板: 精品国产乱码久久久久久图片 | 国内精品久久精品 | 一区天堂 | 精品久久久久久久久久久久 | 成人免费高清 | 欧美一级特黄aaa大片在线观看 | 国产99久久精品一区二区300 | av大片在线观看 | 男人电影天堂 | 有码一区 | 亚洲国产免费 | 在线观看视频亚洲 | 亚洲精品女人久久久 | 国产精品电影网 | 亚洲欧美一区二区三区1000 | 伊人青青久久 | 日本在线播放一区二区 | 黄色永久免费 | 精品一区二区三区在线观看国产 | 欧美一卡二卡在线观看 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 亚洲免费在线 | 日韩欧美国产精品一区二区 | 亚洲天堂精品一区 | 国产日韩欧美在线 | 亚洲国产一区二区三区在线观看 | 欧美精品1区 | 国产色在线 | 久久精品国产一区二区三区不卡 | 夜夜操天天操 | 国产精品国产三级国产aⅴ原创 | 久久亚洲精品国产精品紫薇 | 国产极品粉嫩美女呻吟在线看人 | 中文字幕亚洲精品在线观看 | 日韩欧美一级精品久久 | 国产在线观看一区二区 | 中文在线一区 | 国产午夜精品视频 | 成人超碰 | 奇米av | 欧美国产中文字幕 |