Yii命令行模式
(具体参数描述请使用命令看描述,不过全是英文)


1、Yii提供命令行指令不多,常用的有webapp 和 shell。
- 1. message 搜索指定文件信息 yicc message webroot/xxx.php
- 2. shell 进入命令行模式
- 3. webapp 创建项目
- 4. migrate 数据迁移计划
2、进入命令行模式,
1、创建项目
- 1. %YiiRoot/framework/yiic webapp webroot/index.php
%YiiRoot/framework/yiic 一般是框架根目录,需要用的文件为yiic.php:: yiic.bat,一般创建的新项目protecte目录下都有这两个文件。
webroot/index.php 一般是项目根目录根据你的需求来。
- 2. %YiiRoot/framework/yiic shell webroot/index.php
进入后help 可以看到许多命令
命令
- 1. controller 创建控制器
- 2. crud 根据模型创建对应的控制器
- 3. form 根据模型创建表单视图
- 4. help 帮助命令
- 5. model 根据表名创建模型
- 6. moduel 创建组件
2、创建命令
总结: 流程先建立数据库,根据表结构创建对应的model(model命令),再根据model创建对应的控制器和视图(crud命令)。
(1)、controller 控制器
- controller message helloworld goodbye
message 类前缀,文件前缀,后面可以加无数方法
但是如果以后增加或者修改方法用命令比较麻烦,建议以后手动加。
(2)、crud根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
- Crud crud modelClassName controllerName
modelClassName 模型类前缀,文件前缀
controllerName 控制器类前缀,文件前缀
用http模式输入r=gii 如果有没模型文件无法创建,但命令行模式不受影响
(3)、form根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
- Form modelClassName ViewName ViewPath
modelClassName 模型类前缀,文件前缀
ViewName 视图文件
ViewPath 视图路径 application.views或者自己组件的地址
(4)、model根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。
- model modelClassName tableName
modelClassName 要创建的模式,模型类前缀,文件前缀
tableName 表名
(5)、module 创建模块
- module moduleId
moduleId 模块ID
3、数据迁移
所有的迁移命令后面可以加上一些参数
- --interactive=<true|false> 是否使用交互模式
- --migrationPath=app.migrations设置迁移类所在的文件夹
- --migrationTable=tbl_migration 设置迁移状态记录表
- --connectionID=db设置要将迁移应用到哪个数据库
- --templateFile=application.migrations.template设置生成迁移类的模板文件
1)、创建迁移目录:
- cd protected
- mkdir migrations
migrations 是数据库临时目录,这个必须先手动创建
,
2)、创建新的迁移:
- Yiic migrate create <name>
创建一个新的迁移计划,产生一个类在protected/migrations下,你需要实现up和down两个函数
- Up $this->createTable(‘表名’, array(结构));
- Down $this->dropTable(‘表名’);删除该表
3)、应用所有迁移:
- Yiic migrate
如果没有给出“行动”参数,则默认为“向上”。
4)、向上迁移:
- Yiic migrate up 3
应用三步迁移,若没有数字默认是1
5)、还原迁移:
- Yiic migrate down 3
还原最后3步应用迁移,若没有数字默认是1
6)、指定版本迁移:
- Yiic migrate to 110809_085201
将迁移应用至2011-08-09 08:52:01创建的那个迁移计划
7)、标记指定迁移版本:
- Yiic migrate mark 110809_085201
让系统认为现在的迁移是2011-08-09 08:52:01的那个,但是不实际执行迁移计划。
这点与to命令不同,to会执行迁移计划应用,然后将状态标记,这个只标记。
8)、查看已应用迁移:
- Yiic migrate history [limit]
查看已应用的limit步迁移,若没有limit则显示所有
9) 查看可应用迁移:
- Yiic migrate new [limit]
查看可以应用的limit步迁移,若没有limit则显示所有
Yii命令行模式的更多相关文章
- php yii2 使用命令行模式开启脚本 报错 :Error while sending QUERY packet. PID=xxx
背景:使用Yii2命令行模式开启脚本监控rabbitmq队列(或使用nohup &命令后台监控接口),当队列有订单信息,执行查询,更新操作(相当于PHP文件写个查询,更新,使用命令行启动) 问 ...
- 好压(HaoZip)的命令行模式用法介绍
好压压缩软件,又叫“2345好压”,是一款国产的优秀压缩软件,目前是免费的,据官网介绍,该软件永久免费.官网地址:http://haozip.2345.com/ 本文主要对该软件的命令行模式用法进行介 ...
- WinRAR的命令行模式用法介绍
因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下: 测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一些*.log和*.txt文件. 测 ...
- 命令行模式 svn版本管理
linux 下svn 在命令行模式下的操作安装完svn服务并配置了环境变量之后,要创建一个存放工厂(项目)的仓库repositories用于版本控制(比如我的repositories的路径为 path ...
- Linux 命令行模式 你需要知道的那些事
注: 安装软件 pip install + 软件名 例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ...
- 如何在命令行模式下查看Python帮助文档---dir、help、__doc__
如何在命令行模式下查看Python帮助文档---dir.help.__doc__ 1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...
- Linux 开机启动方式设置 inittab 详解,开机直接进入“命令行”模式
Linux下的 /etc/inittab 中的英文解释: This file describes how the INIT process should set up the system in a ...
- Ubuntu 开机进入命令行模式
1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ...
- 命令行模式下 MYSQL导入导出.sql文件的方法
一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...
随机推荐
- java 会话跟踪技术
1.session用来表示用户会话,session对象在服务端维护,一般tomcat设定session生命周期为30分钟,超时将失效,也可以主动设置无效: 2.cookie存放在客户端,可以分为内存c ...
- 【数位dp】bzoj3131: [Sdoi2013]淘金
思路比较自然,但我要是考场上写估计会写挂:好像被什么不得了的细节苟住了?…… Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1. ...
- 数字内置方法详解(int/long/float/complex)
一.常用方法 1.1.int 以下是Python2.7的int内置函数: 序号 函数名 作用 举例 1 int.bit_length() 二进制存储这个整数至少需要多少bit(位). >> ...
- setup/hold 分析
分析说明:D2:目的寄存器:D1:源寄存器: edge2:下一个时钟上升沿:edge1:当前时钟上升沿:edge0:当前时钟上升沿的前一个时钟沿:如下图: 建立时间:触发器D2(数据要到达目的的地方) ...
- STM32三种启动模式 boot0 boot1
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash.2)SRAM=芯片内置的RAM区,就是内存啦.3)系统存储器=芯片内部一块特定的区域,芯片出厂时在这个 ...
- PAT Basic 1079
1079 延迟的回文数(20 分) 给定一个 k+1 位的正整数 N,写成 ak⋯a1a0 的形式,其中对所有 i 有 0≤ai<10 且 ak>0.N 被称 ...
- foreach遍历数组的表格
<?php /** * * @authors Your Name (you@example.org) * @date 2017-03-17 19:06:19 * @version $Id$ */ ...
- HDU 3488 KM Tour
参考题解 这题注意有重边.. #include <cstdio> #include <cstring> #include <algorithm> using nam ...
- Makefile基础(二)
上一章:C语言之Makefile基础(一) 上一章的Makefile写的中规中矩,比较繁琐,是为了讲清楚基本概念,其实Makefile有很多灵活的写法,可以写的更简洁,同时减少出错的可能 一个目标依赖 ...
- 修改Echarts 图表的坐标轴的文本的排列位置
option.xAxis.axisLabel['interval'] = 0 option.xAxis.axisLabel['formatter'] = function(value,index){ ...