美文网首页
Laravel使用Migration向已存在的表添加1列或多列

Laravel使用Migration向已存在的表添加1列或多列

作者: i娟儿 | 来源:发表于2020-02-04 13:46 被阅读0次

Laravel迁移示例教程。
本教程将一步一步地讲解如何在现有数据库表中添加单个或多个列。
开发迭代过程中,我们时常需要在数据库表中添加新列。今天将向您展示如何使用Laravel migration将新的列或列添加到现有表中。

将通过以下三种方面介绍Laravel Migration的使用:

  1. 在现有表中添加单列
  2. 在现有表中添加多列
  3. 可用列类型

1. 在现有表中添加单列

a) 使用Laravel Migration迁移将新列添加到现有表中。打开终端,使用以下命令创建迁移文件:

php artisan make:migration add_type_to_notes

它将在迁移文件夹中创建一个add_type_to_notes文件。应该是这样的-


Laravel Migration在现有表中添加单列

b) 执行迁移命令:
在终端中运行下面给定的命令。它会向您的表中添加一个新列:

php artisan migrate

现在可以转到数据库表,查看表中是否有新列。已使用迁移命令成功添加.

2. 在现有表中添加多列

a) 如果需要添加多个列,则需要在终端中添加以下命令:

php artisan make:migration add_multiple_column_to_notes

b) 上面的命令将创建一个新的迁移文件,因此需要转到数据库/迁移文件夹,打开文件并根据您的需要添加列:


Laravel Migration在现有表中添加多列

c) 最后,运行下面的命令在数据库表中添加列

php artisan migrate

3. 可用列类型介绍

Laravel schema builder提供了多种列类型,您可以在构建表时指定这些类型:

命令 介绍
$table->bigIncrements('id'); 自动递增无符号BIGINT(主键)等效列。
$table->bigInteger('votes'); BIGINT等效列。
$table->binary('data'); BLOB等效列
$table->boolean('confirmed'); BOOLEAN 等效列
$table->char('name', 100); CHAR equivalent column with an optional length.
$table->date('created_at'); DATE 等效列
$table->dateTime('created_at'); DATETIME 等效列
$table->dateTimeTz('created_at'); DATETIME(带时区) 等效列
$table->decimal('amount', 8, 2); DECIMAL 等效列,带有精度(总位数)和小数位数。
$table->double('amount', 8, 2); DOUBLE 等效列, 带有精度(总位数)和小数位数。
$table->enum('level', ['easy', 'hard']); ENUM 等效列
$table->float('amount', 8, 2); FLOAT 等效列 , 带有精度(总位数)和小数位数。
$table->geometry('positions'); GEOMETRY 等效列
$table->geometryCollection('positions'); GEOMETRYCOLLECTION 等效列
$table->increments('id'); Auto-incrementing UNSIGNED INTEGER (primary key) 等效列
$table->integer('votes'); INTEGER 等效列
$table->ipAddress('visitor'); IP address 等效列
$table->json('options'); JSON 等效列
$table->jsonb('options'); JSONB 等效列
$table->lineString('positions'); LINESTRING 等效列
$table->longText('description'); LONGTEXT 等效列
$table->macAddress('device'); MAC address 等效列
$table->mediumIncrements('id'); 自动递增无符号整型(主键)等效列
$table->mediumInteger('votes'); MEDIUMINT 等效列
$table->mediumText('description'); MEDIUMTEXT 等效列
$table->morphs('taggable'); 添加taggable_id UNSIGNED BIGINT和taggable_type VARCHAR等效列。
$table->uuidMorphs('taggable'); 添加taggable_id UNSIGNED BIGINT和taggable_type VARCHAR等效列。
$table->multiLineString('positions'); 多行等效列。
$table->multiPoint('positions'); MULTIPOINT 等效列
$table->multiPolygon('positions'); MULTIPOLYGON 等效列
$table->nullableMorphs('taggable'); 添加morfs()列,列可为空。
$table->nullableUuidMorphs('taggable'); 添加UuidMorps()列,列可为空。
$table->nullableTimestamps(); Alias of timestamps() method.
$table->point('position'); POINT 等效列
$table->polygon('positions'); POLYGON 等效列
$table->rememberToken(); 添加一个可为空的remember_token VARCHAR(100)等效列
$table->set('flavors', ['strawberry', 'vanilla']); SET 等效列
$table->smallIncrements('id'); 自动递增无符号SMALLINT(主键)等效列
$table->smallInteger('votes'); SMALLINT 等效列
$table->softDeletes(); 软删除的TIMESTAMP 等效列
$table->softDeletesTz(); 软删除的TIMESTAMP(带时区) 等效列
$table->string('name', 100); 具有可选长度的VARCHAR等效列。
$table->text('description'); TEXT 等效列
$table->time('sunrise'); TIME 等效列
$table->timeTz('sunrise'); TIME (with timezone) 等效列
$table->timestamp('added_on'); TIMESTAMP 等效列
$table->timestampTz('added_on'); TIMESTAMP (带时区) 等效列
$table->timestamps(); 添加可为空的created_at和updated_at TIMESTAMP等效列。
$table->timestampsTz(); 添加可为空的created_at和updated_at TIMESTAMP(带时区)等效列。
$table->tinyIncrements('id'); 自动递增无符号TINYINT(主键)等效列
$table->tinyInteger('votes'); TINYINT 等效列
$table->unsignedBigInteger('votes'); UNSIGNED BIGINT 等效列
$table->unsignedDecimal('amount', 8, 2); U具有精度(总位数)和小数位数(十进制位数)的无符号十进制等效列。
$table->unsignedInteger('votes'); UNSIGNED INTEGER 等效列
$table->unsignedMediumInteger('votes'); UNSIGNED MEDIUMINT 等效列
$table->unsignedSmallInteger('votes'); UNSIGNED SMALLINT 等效列
$table->unsignedTinyInteger('votes'); UNSIGNED TINYINT 等效列
$table->uuid('id'); UUID 等效列
$table->year('birth_year'); YEAR 等效列

4. 结论

Larave Magration 您在此了解了如何给已存在的表添加单个或多个新列。
以后会逐渐更新其他Laravel命令的使用。

相关文章

  • Laravel使用Migration向已存在的表添加1列或多列

    Laravel迁移示例教程。本教程将一步一步地讲解如何在现有数据库表中添加单个或多个列。开发迭代过程中,我们时常需...

  • laravel更改数据列报错,使用doctrine/dbal

    在laravel中使用migration作为版本控制工具,当对已存在的数据表做更改的时候,需要额外引入doctri...

  • Hive高级查询操作

    Hive高级操作 1.使用LIKE、AS创建表,表重命名,添加、修改、删除列 表结构数据复制 根据已存在的表结构,...

  • Hive高级查询操作

    Hive高级操作 1.使用LIKE、AS创建表,表重命名,添加、修改、删除列 表结构数据复制根据已存在的表结构,使...

  • yii2知识备忘2

    migration的实用 创建users表 执行migration 改变列属性 使jQuery等资源在头部加载

  • Markdown基本使用

    表格 要添加表,请使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添...

  • 14.SQL语句设计

    操作数据表中的数据记录(DML语句) 使用INSERT语句向数据表中添加数据 插入数据是向已经存在的数据表中添加一...

  • Postgresql 一些语法

    PostgreSQL的ALTER TABLE命令用来添加,删除,或修改现有表中的列。 还可以使用ALTER TAB...

  • Laravel Migration更新表注释

    使用Migration自动创建的文件没有表的注释,不利于我们对数据表的直观理解。 在引用use Illuminat...

  • 八. Pandas的轴

    axis=0代表跨行(down),而axis=1代表跨列(across) 使用0值表示沿着每一列或行标签\索引值向...

网友评论

      本文标题:Laravel使用Migration向已存在的表添加1列或多列

      本文链接:https://www.haomeiwen.com/subject/sydrxhtx.html