PHP工作笔记:使用yii migrate管理、生成数据库
第一步:进入yii migrate
通过dos(我是win7系统,其他系统类似,就是进入字符界面)打开网站目录
phpStudy/WWW/local/ddc_dlss
输入
./yii migrate

按回车,会有个判断是否打开migrate,输入y按回车
这时候,就可以创建自己的数据库创建或者修改任务了!
举例1:
删除files表的data字段
第一步:创建任务文件
$ ./yii migrate/create del_colum_data_in_files_table
按回车,yii会在console/migrations目录下创建一个带del_colum_data_in_files_table名字的文件(之所以这样命名,方便、直观显示这个任务的功能),前缀m161209_012357_是自动生成的,自动避免重名。

第二步:写执行的任务
打开m161209_012357_del_colum_data_in_files_table.php,原始代码如下

需要执行删除字段的任务写在up函数里面,代码如下

我这里做了个判断,如果files表data字段存在才执行删除。
第三步:执行删除任务
刚才的dos我没关闭,直接执行
./yii migrate m130524_201442_init.php
m130524_201442_init.php是系统自动生成的初始化文件,名字以init结尾,前缀肯定会跟我不一样,很好认,文件名带init,我截图下给大家

举例2:
在file_monitor'表添加order_file_num字段,整形,长度为6
代码如下:
<?php use yii\db\Migration;
use yii\db\Schema;
//在file_monitor'表添加order_file_num字段
class m161209_015401_add_colum_order_file_num_in_file_monitor_table extends Migration
{
public function up()
{
if(!isset(Yii::$app->db->getTableSchema('file_monitor')->columns['order_file_num'])){
$this->addColumn('file_monitor','order_file_num', Schema::TYPE_INTEGER.'(6) COMMENT "订单文件数"');
}
} public function down()
{
echo "m161209_015401_add_colum_order_file_num_in_file_monitor_table cannot be reverted.\n"; return false;
} /*
// Use safeUp/safeDown to run migration code within a transaction
public function safeUp()
{
} public function safeDown()
{
}
*/
}
更多方法的书写,大家可以打开
Migration.php(各种数据库表创建修改方法)和Schema.php(设置字段类型、长度等用到)看看
PHP工作笔记:使用yii migrate管理、生成数据库的更多相关文章
- PHP工作笔记:yii2各种功能汇总
数据库操纵: 基础知识:数据库基础 查询语句: 使用yii migrate管理.生成数据库 Yii2 AR find用法 Yii2.0 对数据库 查询的一些简单的操作 修改语句: Yii 修改数据的两 ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- 工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境
上文中我们介绍<工作笔记2.软件开发经常使用工具> 从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个 ...
- yii migrate 设计博客
yii migrate/create create_blog_table该命令生成的迁移文件位于 advanced\console\migrations 目录,可能你已经注意到了,yii migrat ...
- iOS学习笔记之ARC内存管理
iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其 ...
- javascript - 工作笔记 (事件四)
在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装, JavaScript Code 12345 yx.bind(item, "click&quo ...
- 读书笔记——《MySQL DBA 工作笔记》
关于前言 作者在前言中提出的一些观点很具有参考价值, 梳理完整的知识体系 这是每一个技术流都应该追逐的,完整的知识体系能够使我们对知识的掌握更加全面,而不仅仅局限于点 建立技术连接的思维,面对需求,永 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- 2016年第2周读书笔记与工作笔记 scrollIntoView()与datalist元素
这一周主要是看了html5网页开发实例与javascript 高级程序设计,供以后翻阅查找. html5网页开发实例第1章与第二章的2.1部分: 第1章内容: html5在w3c的发展史. 浏览器的 ...
随机推荐
- AngularJs之一
在讲正题之前,先说一下有关angular简介方面的信息: 1. angularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用 ...
- 移动开发--Hybrid和Native混合开发-->HybridApp 、NativeApp、WebApp
1.1. APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝.京东等).金融(各手机行业.P2P借贷等).医疗(智慧医疗).交通(滴滴.Uber等).教育(慕课网 ...
- 有关binlog的那点事(二)(mysql5.7.13)
上次,我们仅仅把binlog做了一个概述,并没有去深入探索(1)binlog file究竟是怎么构成的?(2)binlog file的单元binlog events是怎么构成的?(3)我们能不能伪造出 ...
- 通知:逆天异常库 V1.0版本支持下载了~~
百度网盘:http://pan.baidu.com/s/1bongheJ GitHub:https://github.com/dunitian/LoTDotNet
- sizzle分析记录:属性选择器
源码部分 通过Sizzle.attr匹配出值 然后通过表达式刷选计算 "ATTR": function( name, operator, check ) { return func ...
- JAVA实现发送电子邮件
相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素.废话不多说,下面开始我们 ...
- 重置EntityFramework数据迁移到洁净状态
前言 翻译一篇有关EF数据迁移的文章,以备日后所用,文章若有翻译不当的地方请指出,将就点看,废话少说,看话题.[注意]:文章非一字一句的翻译,就重要的问题进行解释并解决. 话题引入 无法确定这种场景是 ...
- Hawk使用补充说明
软件在发布后,收到了各方朋友的反馈和提问.此处统一对一部分问题作出回复. 感谢你使用Hawk,软件是我写的,坑是我挖的.做爬虫本来就比较复杂,一些公司有专门的程序员做爬虫工程师.因此如果你很沮丧,很有 ...
- 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答
(原创) 今天在做下滑刷新的时候碰到 view 的四个 get 函数有点特别,具体遇到的问题如下,经反复测试和查找资料,填坑如下: 1,为什么我有时候在使用getLeft(), getRight(), ...
- PowerPoint基础
一.基础 默认后缀ppt,pptx office2003和以后的版本只支持ppt, 可以将pptx另存为ppt97-2003 二.修改PPT尺寸 三.新建幻灯片 四.字体与段落设置 五.主题与字体 六 ...