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的发展史. 浏览器的 ...
随机推荐
- EF连接PostgreSql
1.用nuget安装npgsql和EF 注意,Nuget一定要安装Npgsql的2.2.7版本,更高版本nuget在后面安装EF的时候无法自动解析. install-Package Npgsql -V ...
- VS-默认端口导致项目不能加载的解决方案
- 通知:逆天异常库 V1.0版本支持下载了~~
百度网盘:http://pan.baidu.com/s/1bongheJ GitHub:https://github.com/dunitian/LoTDotNet
- python3 字符串与列表常用功能
一.字符串常用功能 1. capitalize(),将字符串的首字母变成大写,其余全部置为小写:如果字符串中有多个单词,也只是将第一个单词的首字母置为大写:例: >>> name = ...
- SQL Server 存储过程生成insert语句
你肯定有过这样的烦恼,同样的表,不同的数据库,加入你不能执行select insert 那么你肯定需要一条这样的存储过程,之需要传入表明,就会给你生成数据的插入语句. 当然数据表数量太大,你将最好用 ...
- Ajax JQuery HTML 提交上传文件File HTML+ Ajax+ASP.NET+ WebService
起因:公司最近有些项目用到了HTML+WebService的组合,发现访问速度等都快了许多,但是由于通过Ajax只能应付一些简单的文字类的传输,上传文件就捉襟见肘了,如果一直引用第三方的swf之类上传 ...
- react+redux教程(三)reduce()、filter()、map()、some()、every()、...展开属性
reduce().filter().map().some().every()....展开属性 这些概念属于es5.es6中的语法,跟react+redux并没有什么联系,我们直接在https:// ...
- Objective-C中的集合类
下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Obj ...
- 关于Docker目录挂载的总结
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker ...
- Pointer is missing a nullability type specifier (__nonnull or __nullable)
我们都知道在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!.而在Objective-C中则没有这一区分,view即可表示这个对象是 ...