laravel数据迁移
来源:互联网 发布:学术猫数据库 编辑:程序博客网 时间:2024/06/03 16:50
下面给大家介绍一下laravel最强大的功能数据迁移(database migrations)
在 database/migrations 目录中包含两个迁移文件,一个建立用户表,一个用于用户密码重置。
在迁移文件中,up 方法用于创建数据表,down方法用于回滚,也就是删除数据表。
首先先执行一下迁移
php artisan migrate
#输出
Migration table created successfully.
如果输出这个就表明执行成功。’
这时会生成migratoins表是迁移记录表
执行成功会产生Created Migration: 2015_03_28_050138_create_article_table;
我们在 database/migrations 下生成了新的文件。
文件内容如下:
<?php
use
Illuminate\Database\Schema\Blueprint;
use
Illuminate\Database\Migrations\Migration;
class
CreateArticleTable
extends
Migration {
/**
* Run the migrations.
*
* @return void
*/
public
function
up()
{
Schema::create(
'articles'
,
function
(Blueprint
$table
)
{
$table
->increments(
'id'
);
$table
->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down()
{
Schema::drop(
'articles'
);
}
}
自动添加了 id列,自动增长,timestamps() 会自动产生 created_at 和 updated_at 两个时间列。我们在根据需求添加字段
执行迁移:php artisan migrate
会在数据库产生创建的表
假设我们需要添加一个新的字段,你可以回滚,然后修改迁移文件,再次执行迁移,或者可以直接新建一个迁移文件
强制执行:
php artisan migrate --force
回滚迁移:php artisan migrate:rollback
创建新的迁移表:php artisan make:migration add_excerpt_to_articels_table --table='articles'
回滚所有的应用迁移,可重建数据库:
php artisan migrate:reset
php artisan migrate:refresh --seed
附:
可用的列类型
$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);
等同于数据库中的DECIMAL类型,带一个精度和范围$table->double('column', 15, 8);
等同于数据库中的DOUBLE类型,带精度, 总共15位数字,小数点后8位.$table->enum('choices', ['foo', 'bar']);
等同于数据库中的 ENUM类型$table->float('amount');
等同于数据库中的 FLOAT 类型$table->increments('id');
数据库主键自增ID$table->integer('votes');
等同于数据库中的 INTEGER 类型$table->json('options');
等同于数据库中的 JSON 类型$table->jsonb('options');
等同于数据库中的 JSONB 类型$table->longText('description');
等同于数据库中的 LONGTEXT 类型$table->mediumInteger('numbers');
等同于数据库中的 MEDIUMINT类型$table->mediumText('description');
等同于数据库中的 MEDIUMTEXT类型$table->morphs('taggable');
添加一个 INTEGER类型的 taggable_id
列和一个 STRING类型的 taggable_type
列$table->nullableTimestamps();
和 timestamps()
一样但不允许 NULL值.$table->rememberToken();
添加一个 remember_token
列: VARCHAR(100) NULL.$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->tinyInteger('numbers');
等同于数据库中的 TINYINT 类型$table->timestamp('added_on');
等同于数据库中的 TIMESTAMP 类型$table->timestamps();
添加添加 created_at
和 updated_at
列.
修改列
->first()将该列置为表中第一个列 (仅适用于MySQL)->after('column')
将该列置于另一个列之后 (仅适用于MySQL)->nullable()
允许该列的值为NULL->default($value)
指定列的默认值->unsigned()
设置 integer
列为 UNSIGNED
0 0
- laravel数据迁移
- laravel数据迁移
- laravel数据迁移和填充
- laravel数据迁移使用总结
- laravel 之数据迁移 migration
- Laravel中的数据迁移命令
- Laravel框架数据迁移和填充
- 基于laravel 的antvel 迁移数据出错
- Laravel框架数据迁移和填充
- 基于laravel框架的antvel 在迁移数据数据出错
- laravel框架总结 -- 数据迁移和数据填充
- laravel 数据迁移与填充的应用总结
- Laravel 实践之路: 数据库迁移与数据填充
- laravel 5.3用户认证--默认的用户表数据迁移
- laravel框架数据迁移、填充(简单示例)--学习笔记
- [李景山php]每天laravel[034]-laravel 基础知识 --- 数据迁移及填充
- laravel数据库迁移
- laravel中数据库迁移
- UIView——layout
- 编写一个makefile的简单实例
- Cocos2d-x 3.0数据结构——cocos2d::Vector
- Activity给Fragment传参
- 佳肴 (Standard IO)
- laravel数据迁移
- JAVA 十大算法
- 取数游戏 纪中 1308 蜜汁dp
- Fragment之间传值
- 主线程等待子线程各种方案比较
- poj1185
- 1308 取数游戏
- 下载服务器中的apk
- Redis批量删除key