Lavarel常用語句之Migration

不言
發布: 2023-03-24 11:32:01
原創
1844 人瀏覽過

這篇文章介紹的內容是關於Lavarel常用語句之Migration,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

Lavarel5.2主要有以前幾個部分要經常操作,只要掌握常用的語句功能實現起來就變得輕鬆很多了


  1. Controller

  2. Model

  3. View

  4. #Route

  5. Migration


Migration篇

#1.建立Migration

在控制台輸入指令
建立表格的指令,我們習慣用行為命名

php artisan make:migration create_users_table --create=users
登入後複製

修改表格的指令

php artisan make:migration add_votes_to_users_table --table=users
登入後複製

這樣在/database/migrations裡就多了一些檔案

2.建立列

Schema::create('users', function ($table) {    $table->increments('id');    $table->string('name');
});
登入後複製

對應的指令與對應資料庫裡的型別

等同於資料庫中的DECIMAL類型,帶一個精確度和範圍##$table- >double('column', 15, 8);$table->enum('choices', ['foo', 'bar']);#$table->float('amount');#$table->increments('id');#$table-> integer('votes');$table->json('options'); #$table->jsonb('options');$table->longText('description');$table->mediumInteger('numbers');#$table->mediumText('description');#$table->morphs('taggable');taggable_id$table->nullableTimestamps();timestamps()$table->rememberToken();remember_token$table->smallInteger('votes');#$table->softDeletes();deleted_at#$table->string('email');等同於資料庫中的 VARCHAR,並帶一個長度等同於資料庫中的 TEXT 類型等同於資料庫中的 TIME型別$table->timestamp('added_on');$table->timestamps();
指令描述
#$table->bigIncrements('id ');自增ID,型別為bigint
#$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->decimal ('amount', 5, 2);
等同於資料庫中的DOUBLE類型,帶精度, 總共15位數字,小數點後8位.
等同於資料庫中的 ENUM型別
等同於資料庫中的 FLOAT 類型
資料庫主鍵自增ID
等同於資料庫中的 INTEGER 型別
等同於資料庫中的 JSON 類型
#等同於資料庫中的JSONB 類型
等同於資料庫中的LONGTEXT 類型
等同於資料庫中的 MEDIUMINT類型
等同於資料庫中的 MEDIUMTEXT類型
新增一個INTEGER類型的  列與一個STRING類型的 taggable_type
和 一樣但允許NULL值.
新增一個  列:VARCHAR(100) NULL.
等同於資料庫中的 SMALLINT 類型
新增一個  列 用於軟體刪除.
等同於資料庫中的 VARCHAR 列  .
## $table->string('name', 100);
$table ->text('description');
$table->time('sunrise ');
#$table->tinyInteger('numbers');等同於資料庫中的 TINYINT 型別
#等於資料庫中的 TIMESTAMP 類型
#########created_at### 與 ### updated_at###列.###############$table->uuid('id');##########等同於資料庫的UUID### ##########

3.修改列

如果我们执行的是类似第二行命令的话
新生成migration里up方法的Create就会变成table,然后就可以在方法里写修改的一些代码

Schema::table('users', function ($table) {

});
登入後複製

我们将name列的尺寸从 25 增加到 50:

$table->string('name', 50)->change();
登入後複製

我们还可以修改该列允许 NULL 值:

$table->string('name', 50)->nullable()->change();
登入後複製

重命名列

 $table->renameColumn('from', 'to');
登入後複製

注意:暂不支持 enum类型的列的重命名。

删除列

$table->dropColumn('votes');
登入後複製
  • 1

删除多个列:

$table->dropColumn(['votes', 'avatar', 'location']);
登入後複製
  • 1

以上就是一些Migration的常用语句,学会Migration可以节省大量用命令行建表的时间

我把整个Lavarel系列的所有链接都更新了,欢迎大家点评

版权声明:本文为博主原创文章,未经博主允许不得转载。            https://blog.csdn.net/qq_32198277/article/details/52592769





以上是Lavarel常用語句之Migration的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!