最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel 5框架學(xué)習(xí)之?dāng)?shù)據(jù)庫(kù)遷移(Migrations)

 更新時(shí)間:2015年04月08日 09:56:35   投稿:hebedich  
本文給大家介紹的是Laravel5框架中最強(qiáng)大的功能之一數(shù)據(jù)庫(kù)遷移(database migrations),本文詳細(xì)給大家介紹數(shù)據(jù)庫(kù)遷移的步驟和方法,非常實(shí)用,有需要的小伙伴可以參考下。

database migrations 是laravel最強(qiáng)大的功能之一。數(shù)據(jù)庫(kù)遷移可以理解為數(shù)據(jù)庫(kù)的版本控制器。

在 database/migrations 目錄中包含兩個(gè)遷移文件,一個(gè)建立用戶表,一個(gè)用于用戶密碼重置。

在遷移文件中,up 方法用于創(chuàng)建數(shù)據(jù)表,down方法用于回滾,也就是刪除數(shù)據(jù)表。

執(zhí)行數(shù)據(jù)庫(kù)遷移

復(fù)制代碼 代碼如下:

php artisan migrate
#輸出
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table

查看mysql數(shù)據(jù)庫(kù),可以看到產(chǎn)生了三張表。 migratoins 表是遷移記錄表,users 和 pasword_resets。

如果設(shè)計(jì)有問(wèn)題,執(zhí)行數(shù)據(jù)庫(kù)回滾

復(fù)制代碼 代碼如下:

php artisan migrate:rollback
#輸出
Rolled back: 2014_10_12_100000_create_password_resets_table
Rolled back: 2014_10_12_000000_create_users_table

再次查看mysql數(shù)據(jù)庫(kù),就剩下 migrations 表了, users password_resets 被刪除了。

修改遷移文件,再次執(zhí)行遷移。

新建遷移

復(fù)制代碼 代碼如下:

php artisan make:migration create_article_table --create='articles'
#輸出
Created Migration: 2015_03_28_050138_create_article_table

在 database/migrations 下生成了新的文件。

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArticleTable extends Migration {

 /**
 * Run the migrations.
 *
 * @return void
 */
 public function up()
 {
 Schema::create('articles', function(Blueprint $table)
 {
  $table->increments('id');
  $table->timestamps();
 });
 }

 /**
 * Reverse the migrations.
 *
 * @return void
 */
 public function down()
 {
 Schema::drop('articles');
 }

}

自動(dòng)添加了 id列,自動(dòng)增長(zhǎng),timestamps() 會(huì)自動(dòng)產(chǎn)生 created_at 和 updated_at 兩個(gè)時(shí)間列。我們添加一些字段:

 public function up()
 {
 Schema::create('articles', function(Blueprint $table)
 {
  $table->increments('id');
      $table->string('title');
      $table->text('body');
      $table->timestamp('published_at');
  $table->timestamps();
 });
 }

執(zhí)行遷移:

復(fù)制代碼 代碼如下:

php artisan migrate

現(xiàn)在有了新的數(shù)據(jù)表了。

假設(shè)我們需要添加一個(gè)新的字段,你可以回滾,然后修改遷移文件,再次執(zhí)行遷移,或者可以直接新建一個(gè)遷移文件

復(fù)制代碼 代碼如下:

php artisan make:migration add_excerpt_to_articels_table

查看新產(chǎn)生的遷移文件

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddExcerptToArticelsTable extends Migration {

 /**
 * Run the migrations.
 *
 * @return void
 */
 public function up()
 {
 //
 }

 /**
 * Reverse the migrations.
 *
 * @return void
 */
 public function down()
 {
 //
 }

}

只有空的 up 和 down 方法。我們可以手工添加代碼,或者我們讓laravel為我們生成基礎(chǔ)代碼。刪除這個(gè)文件,重新生成遷移文件,注意添加參數(shù):

復(fù)制代碼 代碼如下:

php artisan make:migration add_excerpt_to_articels_table --table='articles'

現(xiàn)在,up 方法里面有了初始代碼。

 public function up()
 {
 Schema::table('articles', function(Blueprint $table)
 {
  //
 });
 }

添加實(shí)際的數(shù)據(jù)修改代碼:

 public function up()
 {
 Schema::table('articles', function(Blueprint $table)
 {
  $table->text('excerpt')->nullable();
 });
 }
 
 public function down()
 {
 Schema::table('articles', function(Blueprint $table)
 {
  $table->dropColumn('excerpt');
 });
 }

nullable() 表示字段也可以為空。

再次執(zhí)行遷移并檢查數(shù)據(jù)庫(kù)。

如果我們?yōu)榱撕猛?,?zhí)行回滾

復(fù)制代碼 代碼如下:

php artisan migrate:rollback

excerpt 列沒(méi)有了。

以上所述就是本文的全部?jī)?nèi)容了,希望能夠給大家熟練掌握Laravel5框架有所幫助。

相關(guān)文章

  • PHP定時(shí)執(zhí)行任務(wù)實(shí)現(xiàn)方法詳解(Timer)

    PHP定時(shí)執(zhí)行任務(wù)實(shí)現(xiàn)方法詳解(Timer)

    這篇文章主要介紹了PHP定時(shí)執(zhí)行任務(wù)實(shí)現(xiàn)方法詳解,定時(shí)任務(wù)在web應(yīng)用程序中比較常見(jiàn),實(shí)現(xiàn)定時(shí)任務(wù)主要有兩種方案:1)使用Crontab命令,2)配合使用ignore_user_abort()和set_time_limit(),有需要的朋友可以來(lái)借鑒下。
    2015-07-07
  • PHP命名空間(namespace)的使用基礎(chǔ)及示例

    PHP命名空間(namespace)的使用基礎(chǔ)及示例

    本文介紹了PHP命名空間的一些術(shù)語(yǔ),其解析規(guī)則,以及一些高級(jí)功能的應(yīng)用,希望能夠幫助讀者在項(xiàng)目中真正使用命名空間。
    2014-08-08
  • ThinkPHP整合百度Ueditor圖文教程

    ThinkPHP整合百度Ueditor圖文教程

    這篇文章主要介紹了ThinkPHP整合百度Ueditor的方法,圖文并茂,非常的詳細(xì),希望對(duì)大家能有所幫助
    2014-10-10
  • thinkPHP統(tǒng)計(jì)排行與分頁(yè)顯示功能示例

    thinkPHP統(tǒng)計(jì)排行與分頁(yè)顯示功能示例

    這篇文章主要介紹了thinkPHP統(tǒng)計(jì)排行與分頁(yè)顯示功能,結(jié)合實(shí)例形式分析了thinkPHP數(shù)據(jù)庫(kù)查詢與結(jié)果分頁(yè)顯示相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • Yii Framework框架獲取分類下面的所有子類方法

    Yii Framework框架獲取分類下面的所有子類方法

    Yii是一個(gè)基于組件、用于開發(fā)大型 Web 應(yīng)用的 高性能 PHP 框架。Yii 幾乎擁有了 所有的特性 ,包括 MVC、DAO/ActiveRecord、I18N/L10N、caching、基于 JQuery 的 AJAX 支持、用戶認(rèn)證和基于角色的訪問(wèn)控制、腳手架、輸入驗(yàn)證、部件、事件、主題化以及 Web 服務(wù)等等。
    2014-06-06
  • PHP 超鏈接 抓取實(shí)現(xiàn)代碼

    PHP 超鏈接 抓取實(shí)現(xiàn)代碼

    因?yàn)樽罱鲆粋€(gè)類似專業(yè)搜索引擎的東西,需要抓取網(wǎng)頁(yè)的所有超鏈接。大家?guī)兔y(cè)試一下子,下面的代碼是否可以針對(duì)所有的標(biāo)準(zhǔn)超鏈接。
    2009-06-06
  • php實(shí)現(xiàn)微信支付之現(xiàn)金紅包

    php實(shí)現(xiàn)微信支付之現(xiàn)金紅包

    這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)微信支付之現(xiàn)金紅包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • ThinkPHP查詢返回簡(jiǎn)單字段數(shù)組的方法

    ThinkPHP查詢返回簡(jiǎn)單字段數(shù)組的方法

    這篇文章主要介紹了ThinkPHP查詢返回簡(jiǎn)單字段數(shù)組的方法,是ThinkPHP查詢功能中一個(gè)非常實(shí)用的技巧,需要的朋友可以參考下
    2014-08-08
  • ThinkPHP多表聯(lián)合查詢的常用方法

    ThinkPHP多表聯(lián)合查詢的常用方法

    這篇文章主要介紹了ThinkPHP多表聯(lián)合查詢的常用方法,對(duì)于項(xiàng)目開發(fā)非常重要!需要的朋友可以參考下
    2014-06-06
  • PHP 自動(dòng)加載的簡(jiǎn)單實(shí)現(xiàn)(推薦)

    PHP 自動(dòng)加載的簡(jiǎn)單實(shí)現(xiàn)(推薦)

    下面小編就為大家?guī)?lái)一篇PHP 自動(dòng)加載的簡(jiǎn)單實(shí)現(xiàn)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08

最新評(píng)論

岢岚县| 辉县市| 江孜县| 瑞丽市| 顺昌县| 恩施市| 沙田区| 张家川| 留坝县| 嘉峪关市| 彰武县| 沛县| 南昌市| 厦门市| 奉化市| 离岛区| 红安县| 长葛市| 阿巴嘎旗| 鸡泽县| 商都县| 襄垣县| 永川市| 凤山市| 进贤县| 泽普县| 柳州市| 伊春市| 普洱| 武胜县| 呼玛县| 五华县| 宜川县| 南靖县| 荔浦县| 洛浦县| 应城市| 深水埗区| 青岛市| 简阳市| 武威市|