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

Laravel中數據遷移與數據填充的詳細步驟

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

前言

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

關于Laravel數據庫遷移的理解

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

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

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

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

migration

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

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

migrate

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

php artisan make:migration filename 有兩個可選參數

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

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

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


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

這兩個方法是互逆的操作,比如我們可以再 up 方法中編寫我們要創建的 user 表的相關信息,而 down 方法中則是刪除 user 表的操作。這樣,我們就可以做到回滾操作,當我們創建 user 表之后發現某個字段名寫錯了,就可以通過 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();
 });
}
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要給大家介紹了關于利用Homestead如何快速運行一個Laravel項目的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們
這篇文章主要給大家介紹了關于Laravel中Intervention/image圖片處理擴展包的安裝、使用與在使用可能遇到的坑的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一
這篇文章主要為大家詳細介紹了Laravel下生成驗證碼的類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Laravel以其簡潔、優雅的特性贏得了大家的廣泛關注,無論是專家還是新手,在開發PHP項目的時候,都會第一時間的想到Laravel。本文我們將討論為什么Laravel會成為最成功的PHP框架
本篇文章主要介紹了Laravel 批量更新多條數據的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了laravel5 使用try catch的相關知識,需要的朋友可以參考下
主站蜘蛛池模板: 日批日韩在线观看 | 欧美a级成人淫片免费看 | 污书屋 | 精品成人佐山爱一区二区 | 国产精品一区二区免费看 | 日本一区二区三区免费观看 | 久久亚洲一区 | 久久精品国产一区二区三区不卡 | 久久91| 欧美日韩不卡 | 日本a级大片 | 日韩成人免费视频 | wwwxxx日本在线观看 | 国产精品高清在线 | 成人av影院 | 国产福利在线 | 国产精品亚洲综合 | 天堂综合 | 国产在线中文字幕 | 国产午夜精品一区二区三区四区 | 国产综合久久 | 国产精品成人一区 | 毛片毛片毛片毛片毛片 | 亚洲成人一区二区 | 久久99精品久久久久久国产越南 | 免费观看a级毛片在线播放 黄网站免费入口 | 国产中文一区二区三区 | 国产精品视频偷伦精品视频 | 成年人黄色一级毛片 | 成人精品鲁一区一区二区 | 在线午夜电影 | 成人精品在线观看 | 野狼在线社区2017入口 | 欧美成人a∨高清免费观看 色999日韩 | 西西裸体做爰视频 | 播放一级黄色片 | 国产午夜精品一区二区 | 亚洲国产精品久久久久秋霞不卡 | 国产免费一二三区 | 国产一区在线免费 | 国产精品 亚洲一区 |