Home >Backend Development >PHP Tutorial >Migration of Lavarel's commonly used statements

Migration of Lavarel's commonly used statements

不言
不言Original
2018-04-19 10:10:261909browse

The content of this article is about Migration, a commonly used statement in Lavarel. It has a certain reference value. Now I share it with you. Friends in need can refer to it

Lavarel5.2 Mainly, the previous parts need to be operated frequently. As long as you master the commonly used statement functions, it will become much easier to implement them


  1. Controller

  2. Model

  3. ##View

  4. Route

  5. Migration


##Migration Chapter

1. Create Migration

in Enter the command in the console

Command to create a table, we are used to naming it with behavior

php artisan make:migration create_users_table --create=users

Command to modify the table

php artisan make:migration add_votes_to_users_table --table=users

This way there will be more files in /database/migrations

2. Create a column

Schema::create('users', function ($table) {    $table->increments('id');    $table->string('name');
});
Corresponding command and type in the corresponding database

Auto-increment ID, type is bigint##$table->bigInteger('votes');$table->binary('data');##$table->boolean('confirmed');$table->char('name', 4);$table->date('created_at');$table->dateTime('created_at');##$table->decimal ('amount', 5, 2);$table- >double('column', 15, 8);$table->enum('choices', ['foo', 'bar']);$table->float('amount');$table->increments('id');Equivalent to the INTEGER type in the databaseEquivalent to the JSON type in the database##$table->jsonb('options');Equivalent to the JSONB type in the databaseEquivalent to the JSONB type in the database LONGTEXT type is equivalent to the MEDIUMINT type in the databaseEquivalent to the MEDIUMTEXT type in the databaseAdd an INTEGER type taggable_id column and a STRING type timestamps() but allows NULL values. column: VARCHAR(100) NULL.Add a column for soft deletion.Equivalent to VARCHAR in the database, with a lengthEquivalent to the TEXT type in the database##$table->time('sunrise ');##$table->tinyInteger('numbers');##$table->timestamp('added_on');Add column.##$table->uuid('id');
Command Description
##$table->bigIncrements('id ');
Equivalent to the BIGINT type in the database
Equivalent to The BLOB type in the database
is equivalent to the BOOLEAN type in the database
Equivalent to the CHAR type in the database
Equivalent to the DATE type in the database
Equivalent to the DATETIME type in the database
Equivalent to the DECIMAL type in the database, with a precision and range
Equivalent to the DOUBLE type in the database, with precision, a total of 15 digits, 8 digits after the decimal point.
Equivalent to the ENUM type in the database
Equivalent to the FLOAT type in the database
Database primary key auto-increment ID ##$table-> integer('votes');
$table->json('options');
##$table->longText('description');
$table->mediumInteger('numbers');
$table->mediumText('description');
$table->morphs('taggable');
taggable_type column ##$table->nullableTimestamps();Same as
##$table->rememberToken(); Add a remember_token
$table->smallInteger('votes'); Equivalent to the SMALLINT type in the database
$table->softDeletes(); deleted_at
$table->string('email'); Equivalent to the VARCHAR column in the database.
$table->string('name', 100);
$table ->text('description');
Equivalent to the TIME type in the database
Equivalent to the TINYINT type in the database
Equivalent to TIMESTAMP type in the database ##$table->timestamps();
created_at and updated_at
is equivalent to the UUID of the database

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





The above is the detailed content of Migration of Lavarel's commonly used statements. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn