Laravel 5 数据库迁移文件示例
php artisan make:migration create_stocks_table
在项目根目录执行上面的命令后,会在database/migrations目录下生成2016_06_03_100344_create_stocks_table.php(名称与时间有关)文件,修改这个文件就可以了,修改后如下
<?php use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema; class CreateStocksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('stocks',function(Blueprint $table)
{
$table->increments('id');
$table->string('sku');
$table->string('name');
$table->string('warehouse');
$table->string('platform');
$table->integer('quantity');
$table->integer('valid');
$table->integer('update_time');
$table->index(array('sku'));
$table->timestamps();
});
} /**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('stocks');
}
}
文件内容很容易理解,具体有那些创建数据表字段的方法可以参考文件Illuminate\Database\Schema\Blueprint.php,很容易理解
然后执行如下命令即可,此命令实际是调用刚刚的up方法,
php artisan migrate
调用down方法执行如下命令
php artisan migrate:rollback
数据表已经创建好了,接下来填充测试数据
php artisan make:seeder StocksTableSeeder
执行上面的命令后,会在database/seeds下生成StocksTableSeeder.php文件,我们修改这个文件的run方法,添加填充数据命令,修改后的文件如下
<?php use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model; class StocksTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('stocks')->insert([
'sku' => str_random(5),
'name' => str_random(10),
'warehouse' => str_random(6),
'platform' => str_random(3),
'quantity' => rand(10,100),
'valid' => rand(10,100),
'update_time' => rand(strtotime("-10 days"),time())
]);
}
}
然后修改同目录下的DatabaseSeeder.php,添加上面类的调用
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(StocksTableSeeder::class);
}
}
最后在命令行多次执行,批量填充测试数据的方法参考官方手册
php artisan db:seed
查看数据库如下
aaarticlea/png;base64,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" alt="" />
Laravel 5 数据库迁移文件示例的更多相关文章
- 转: Laravel的数据库迁移 介绍的比较清晰
原文: https://blog.sbot.io/articles/12/Laravel-数据库迁移(Database-Migrations)操作实例 很多人可能在学习Laravel框架的时候,对La ...
- laravel中数据库迁移的使用:
创建数据库迁移文件: php artisan make:migration create_links_table 创建完表之后,设置字段: public function up() { Schema: ...
- Laravel5.1 Migration数据库迁移文件
Migration方便于团队开发,它就像数据库的版本控制一样,它的功能就是可以和别人共享你的数据库结构.这么说可能不太好理解,你跟着敲敲就明白了. 0 前提工作-配置数据库 找到你根目录的 .env ...
- Laravel进行数据库迁移(migration)
迁移(migration) 文档的简介是:迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的结构构建器结对从而可以很容易地构建应用的数据库表结构. ...
- laravel执行数据库迁移的过程中出现Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Operation timed out (SQL: select * from information_schema.tables where table_schema = shop and table_name = migrations
向customers表添加字段phone php artisan make:migration add_phone_to_customers_table 问题: 解决方法: 将DB_HOST配置项修改 ...
- 【Laravel 】数据迁移文件常用方法速查表
一.存储引擎.字符编码相关操作 命令 描述 $table->engine = 'InnoDB'; 指定表的存储引擎(MySQL) $table->charset = 'utf8'; 指定数 ...
- Laravel数据库迁移
Laravel的数据迁移功能很好用,并且可以带来一系列好处.通过几条简单的 artisan 命令,就可以顺利上手,没有复杂的地方 注意:该系列命令对数据库非常危险,请准备一个单独的数据库作为配套练习, ...
- Laravel 5.2 数据库迁移和数据填充
一.数据库迁移 Laravel 的数据库迁移提供了对数据库.表.字段.索引的一系列相关操作.下面以创建友情链接表为例. 1. 创建迁移 使用 Artisan 命令 php artisan make: ...
- Laravel中如何做数据库迁移
总的来说,做一次独立数据库迁移只需要三步,分别是创建迁移文件.修改迁移文件.运行迁移 1.创建数据库迁移文件php artisan make:migration create_articles_tab ...
随机推荐
- Java提高篇——通过分析 JDK 源代码研究 Hash 存储机制
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实 ...
- 自动生成pdf书签(仅适用于Adobe Acrobat on windows )
必备软件 1.Adobe Acrobat. 2.AutoBookmark 为adobe acrobat的自动生成书签的插件(我用的这个:AutoBookmark Standard Plug-in),下 ...
- Go 模板
原文链接 很多语言都有很多方式将字符串从一只形式转换成另一种形式.Go 使用模板的方法通过提供一个对象作为参数来转换字符串.这个一般来讲是用来将对象插入到HTML中的,不过它同样可以用在其他的情况下. ...
- 学习OpenCV——KNN算法
转自:http://blog.csdn.net/lyflower/article/details/1728642 文本分类中KNN算法,该方法的思路非常简单直观:如果一个样本在特征空间中的k个最相似( ...
- ms
meanShift的概念最早是由Fukunage[1]在1975年提出的,其最初的含义正如其名:偏移的均值向量:但随着理论的发展,meanShift的含义已经发生了很多变化.如今,我们说的meanSh ...
- 关于python文件操作
http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理 ...
- 构建高性能的ASP.NET应用程序
看见大标题的时候,也许各位看官会自然而然的联想到如何在设计阶段考虑系统性能问题,如何编写高性能的程序代码.关于这一点,大家可以在MSDN和相关网站上找到非常多的介绍,不过大多是防患于未难,提供的是在设 ...
- python :页面布局 ,后台管理页面之左侧菜单跟着滚动条动
左侧菜单跟着滚动条动 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...
- U3D使anim,unity,prefab文件不显示乱码
Edit-Project Setting-Editor-Asset Serialization-mode Force Text
- openvpn之搭建配置
一.openvpn原理 openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的.这种方式称为TLS加密 ...