Home >Backend Development >PHP Tutorial >Migration of Lavarel's commonly used statements
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
Controller
Model
php artisan make:migration create_users_table --create=users
php artisan make:migration add_votes_to_users_table --table=users
This way there will be more files in /database/migrations
2. Create a columnSchema::create('users', function ($table) { $table->increments('id'); $table->string('name'); });Corresponding command and type in the corresponding database
Command | Description |
---|---|
##$table->bigIncrements('id ');
| Auto-increment ID, type is bigint|
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 |
##$table->decimal ('amount', 5, 2); |
Equivalent to the DECIMAL type in the database, with a precision and range
|
$table- >double('column', 15, 8); |
Equivalent to the DOUBLE type in the database, with precision, a total of 15 digits, 8 digits after the decimal point.
|
$table->enum('choices', ['foo', 'bar']); |
Equivalent to the ENUM type in the database
|
$table->float('amount'); |
Equivalent to the FLOAT type in the database
|
$table->increments('id'); |
Database primary key auto-increment ID
|
##$table-> integer('votes'); |
|
$table->json('options'); |
| ##$table->jsonb('options');|
##$table->longText('description'); |
Equivalent to the JSONB type in the database LONGTEXT type |
$table->mediumInteger('numbers'); |
is equivalent to the MEDIUMINT type in the database |
$table->mediumText('description'); |
Equivalent to the MEDIUMTEXT type in the database |
$table->morphs('taggable'); |
Add an INTEGER type |
taggable_type column
|
##$table->nullableTimestamps(); Same as | timestamps()
##$table->rememberToken(); |
Add a remember_token | column: VARCHAR(100) NULL.
$table->smallInteger('votes'); |
Equivalent to the SMALLINT type in the database |
$table->softDeletes();
| Add a deleted_at | column for soft deletion.
$table->string('email'); |
Equivalent to the VARCHAR column in the database. |
$table->string('name', 100);
| Equivalent to VARCHAR in the database, with a length|
$table ->text('description');
| Equivalent to the TEXT type in the database|
Equivalent to the TIME type in the database |
|
Equivalent to the TINYINT type in the database |
##$table->timestamp('added_on'); |
Equivalent to TIMESTAMP type in the database
|
##$table->timestamps(); |
created_at and updated_at | column.|
is equivalent to the UUID of the database |
3.修改列如果我们执行的是类似第二行命令的话 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');
删除多个列: $table->dropColumn(['votes', 'avatar', 'location']);
以上就是一些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!