pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Laravel 的數據庫遷移的方法

本篇文章主要介紹了Laravel 的數據庫遷移的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Laravel 的數據庫遷移的方法,分享給大家,具體如下:

生成遷移

--table 和 --create 選項可用來指定數據表的名稱,或是該遷移被執行時會創建的新數據表。這些選項需在預生成遷移文件時填入指定的數據表:

php artisan make:migration create_users_table
php artisan make:migration create_users_table --create=users
php artisan make:migration add_votes_to_users_table --table=users

添加字段

\database\migrations\2017_07_30_133748_create_users_table.php

<?php

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

class CreateUsersTable extends Migration
{
  /**
   * 運行數據庫遷移
   *
   * @return void
   */
  public function up()
  {
    //
      Schema::create('users',function (Blueprint $table){
        $table->increments('id')->comment('遞增ID');
        $table->string('email',60)->comment('會員Email');
        $table->string('phone',20)->comment('會員手機號');
        $table->string('username',60)->comment('用戶名');
        $table->string('password',32)->comment('用戶密碼');
        $table->char('rank',10)->comment('會員等級');
        $table->unsignedSmallInteger('sex')->comment('性別;0保密;1男;2女');
        $table->unsignedSmallInteger('status')->comment('用戶狀態');
        $table->ipAddress('last_ip')->default('0.0.0.0')->comment('最后一次登錄IP');
        $table->timeTz('last_login')->comment('最后一次登錄時間');
        $table->timestamps();
      });
  }

  /**
   * 回滾數據庫遷移
   *
   * @return void
   */
  public function down()
  {
    //
    Schema::drop('users');
  }
}

要創建一張新的數據表,可以使用 Schema facade 的 create 方法。create 方法接收兩個參數:第一個參數為數據表的名稱,第二個參數為一個 閉包 ,此閉包會接收一個用于定義新數據表的 Blueprint 對象

你可以方便地使用 hasTable 和 hasColumn 方法來檢查數據表或字段是否存在:

if (Schema::hasTable('users')) {
  //
}
if (Schema::hasColumn('users', 'email')) {
  //
}

如果你想要在一個非默認的數據庫連接中進行數據庫結構操作,可以使用 connection 方法:

Schema::connection('foo')->create('users', function (Blueprint $table) {
  $table->increments('id');
});

你可以在數據庫結構構造器上設置 engine 屬性來設置數據表的存儲引擎:

Schema::create('users', function (Blueprint $table) {
  $table->engine = 'InnoDB';
  $table->increments('id');
});

重命名與刪除數據表

Schema::rename($from, $to);//重命名

//刪除已存在的數據表
Schema::drop('users');
Schema::dropIfExists('users');

創建字段

Schema::table('users', function (Blueprint $table) {
  $table->string('email');
});

命令 描述
$table->bigIncrements('id'); 遞增 ID(主鍵),相當于「UNSIGNED BIG INTEGER」型態。
$table->bigInteger('votes'); 相當于 BIGINT 型態。
$table->binary('data'); 相當于 BLOB 型態。
$table->boolean('confirmed'); 相當于 BOOLEAN 型態。
$table->char('name', 4); 相當于 CHAR 型態,并帶有長度。
$table->date('created_at'); 相當于 DATE 型態
$table->dateTime('created_at'); 相當于 DATETIME 型態。
$table->dateTimeTz('created_at'); DATETIME (帶時區) 形態
$table->decimal('amount', 5, 2); 相當于 DECIMAL 型態,并帶有精度與基數。
$table->double('column', 15, 8); 相當于 DOUBLE 型態,總共有 15 位數,在小數點后面有 8 位數。
$table->enum('choices', ['foo', 'bar']); 相當于 ENUM 型態。
$table->float('amount', 8, 2); 相當于 FLOAT 型態,總共有 8 位數,在小數點后面有 2 位數。
$table->increments('id'); 遞增的 ID (主鍵),使用相當于「UNSIGNED INTEGER」的型態。
$table->integer('votes'); 相當于 INTEGER 型態。
$table->ipAddress('visitor'); 相當于 IP 地址形態。
$table->json('options'); 相當于 JSON 型態。
$table->jsonb('options'); 相當于 JSONB 型態。
$table->longText('description'); 相當于 LONGTEXT 型態。
$table->macAddress('device'); 相當于 MAC 地址形態。
$table->mediumIncrements('id'); 遞增 ID (主鍵) ,相當于「UNSIGNED MEDIUM INTEGER」型態。
$table->mediumInteger('numbers'); 相當于 MEDIUMINT 型態。
$table->mediumText('description'); 相當于 MEDIUMTEXT 型態。
$table->morphs('taggable'); 加入整數 taggable_id 與字符串 taggable_type。
$table->nullableMorphs('taggable'); 與 morphs() 字段相同,但允許為NULL。
$table->nullableTimestamps(); 與 timestamps() 相同,但允許為 NULL。
$table->rememberToken(); 加入 remember_token 并使用 VARCHAR(100) NULL。
$table->smallIncrements('id'); 遞增 ID (主鍵) ,相當于「UNSIGNED SMALL INTEGER」型態。
$table->smallInteger('votes'); 相當于 SMALLINT 型態。
$table->softDeletes(); 加入 deleted_at 字段用于軟刪除操作。
$table->string('email'); 相當于 VARCHAR 型態。
$table->string('name', 100); 相當于 VARCHAR 型態,并帶有長度。
$table->text('description'); 相當于 TEXT 型態。
$table->time('sunrise'); 相當于 TIME 型態。
$table->timeTz('sunrise'); 相當于 TIME (帶時區) 形態。
$table->tinyInteger('numbers'); 相當于 TINYINT 型態。
$table->timestamp('added_on'); 相當于 TIMESTAMP 型態。
$table->timestampTz('added_on'); 相當于 TIMESTAMP (帶時區) 形態。
$table->timestamps(); 加入 created_at 和 updated_at 字段。
$table->timestampsTz(); 加入 created_at and updated_at (帶時區) 字段,并允許為NULL。
$table->unsignedBigInteger('votes'); 相當于 Unsigned BIGINT 型態。
$table->unsignedInteger('votes'); 相當于 Unsigned INT 型態。
$table->unsignedMediumInteger('votes'); 相當于 Unsigned MEDIUMINT 型態。
$table->unsignedSmallInteger('votes'); 相當于 Unsigned SMALLINT 型態。
$table->unsignedTinyInteger('votes'); 相當于 Unsigned TINYINT 型態。
$table->uuid('id'); 相當于 UUID 型態。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要給大家介紹了關于利用Homestead如何快速運行一個Laravel項目的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們
這篇文章主要給大家介紹了關于Laravel中Intervention/image圖片處理擴展包的安裝、使用與在使用可能遇到的坑的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一
這篇文章主要為大家詳細介紹了Laravel下生成驗證碼的類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Laravel以其簡潔、優雅的特性贏得了大家的廣泛關注,無論是專家還是新手,在開發PHP項目的時候,都會第一時間的想到Laravel。本文我們將討論為什么Laravel會成為最成功的PHP框架
Eloquent中一個模型就是一個數據表,數據表之間通常會有關聯,多對多關聯就是2個表之間相互有很多關聯,這篇文章給大家介紹了Laravle eloquent 多對多模型關聯實例詳解,需要的朋友參考下
本篇文章主要介紹了Laravel 批量更新多條數據的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 高空重型升降平台_高空液压举升平台_高空作业平台_移动式升降机-河南华鹰机械设备有限公司 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 猪I型/II型胶原-五克隆合剂-细胞冻存培养基-北京博蕾德科技发展有限公司 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 绿叶|绿叶投资|健康产业_绿叶投资集团有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 永嘉县奥阳陶瓷阀门有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 首页 - 军军小站|张军博客| 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 保镖公司-私人保镖-深圳保镖公司【环宇兄弟保镖】 |