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的发展史. 浏览器的 ...
随机推荐
- Linux study
在centos5.5中编译LNMP环境 一.配置好ip, dns, 网关, 确保使用远程连接工具能够连接服务器 centos设置ip地址,网关, dns教程: http://www.osyumwei. ...
- 几个最常用的用来代替Div的HTML5元素
虽说html5中大多数功能性的元素如<video><canvas><audio>等还得不到当前主流浏览器的支持(主要就是指IE浏览器了),但至少那些个与布局相关的元 ...
- JS中script词法分析
核心:JS中的script是分段执行的. <script> var i = 10; </script> <script> alert(i); </script ...
- JQuery插件之Jquery.datatables.js用法及api
1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk ...
- 理解javascript中的对话框
前面的话 通常我们调试程序时,如果需要阻塞效果,则要用到alert().但除了alert()以外,window对象还提供了其他3种对话框.本文将详细介绍window对象中的对话框 定义 系统对话框与在 ...
- JAVA--继承
项目开发遇到一个问题,稀里糊涂给实现了,现在重点讨论一下这是个什么情况,大神们如果看到希望给点指点. 问题:子类与父类具有相同的属性和方法,将子类实例化为父类,调用对应属性的get.set方法,打印出 ...
- L2 Population 原理 - 每天5分钟玩转 OpenStack(113)
前面我们学习了 VXLAN,今天讨论跟 VXLAN 紧密相关的 L2 Population. L2 Population 是用来提高 VXLAN 网络 Scalability 的. 通常我们说某个系统 ...
- GROUP函数-GROUP_ID,GROUPING,GROUPING_ID
GROUP_ID 首先我们看看官方的解释: 大意是GROUP_ID用于区分相同分组标准的分组统计结果. 解释起来比较抽象,下面我们来看看具体的案例. 例1:单一分组 SQL> select gr ...
- ubuntu 配置git公钥
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...
- 【Python实战】机型自动化标注(搜狗爬虫实现)
1. 引言 从安卓手机收集上来的机型大都为这样: mi|5 mi|4c mi 4c 2014022 kiw-al10 nem-tl00h 收集的机型大都杂乱无章,不便于做统计分析.因此,标注显得尤为重 ...