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

1、Yii提供命令行指令不多,常用的有webapp 和 shell。

  1. 1.  message 搜索指定文件信息 yicc message webroot/xxx.php
  2. 2.  shell   进入命令行模式
  3. 3.  webapp  创建项目
  4. 4.  migrate 数据迁移计划

2、进入命令行模式,

   1、创建项目

  1. 1.  %YiiRoot/framework/yiic webapp  webroot/index.php

%YiiRoot/framework/yiic  一般是框架根目录,需要用的文件为yiic.php:: yiic.bat,一般创建的新项目protecte目录下都有这两个文件。

webroot/index.php 一般是项目根目录根据你的需求来。

  1. 2. %YiiRoot/framework/yiic shell  webroot/index.php

进入后help 可以看到许多命令

            命令

  1. 1.  controller 创建控制器
  2. 2.  crud        根据模型创建对应的控制器
  3. 3.  form        根据模型创建表单视图
  4. 4.  help        帮助命令
  5. 5.  model     根据表名创建模型
  6. 6.  moduel   创建组件

2、创建命令

总结: 流程先建立数据库,根据表结构创建对应的model(model命令),再根据model创建对应的控制器和视图(crud命令)。

(1)、controller 控制器

  1. controller message helloworld goodbye

message 类前缀,文件前缀,后面可以加无数方法

但是如果以后增加或者修改方法用命令比较麻烦,建议以后手动加。

(2)、crud根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

  1. Crud  crud modelClassName controllerName

modelClassName 模型类前缀,文件前缀

controllerName 控制器类前缀,文件前缀

用http模式输入r=gii 如果有没模型文件无法创建,但命令行模式不受影响

(3)、form根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

  1. Form  modelClassName ViewName  ViewPath

modelClassName 模型类前缀,文件前缀

ViewName 视图文件

ViewPath  视图路径 application.views或者自己组件的地址

(4)、model根据模型创建对应的控制器,必须先建立数据表,才能根本表和模型创建对应的控制器。

  1. model  modelClassName tableName

modelClassName 要创建的模式,模型类前缀,文件前缀

tableName 表名

(5)、module  创建模块

  1. module   moduleId

moduleId  模块ID

3、数据迁移

所有的迁移命令后面可以加上一些参数

  1. --interactive=<true|false> 是否使用交互模式
  2. --migrationPath=app.migrations设置迁移类所在的文件夹
  3. --migrationTable=tbl_migration 设置迁移状态记录表
  4. --connectionID=db设置要将迁移应用到哪个数据库
  5. --templateFile=application.migrations.template设置生成迁移类的模板文件

1)、创建迁移目录:

  1. cd   protected
  2. mkdir migrations

migrations 是数据库临时目录,这个必须先手动创建



2)、创建新的迁移:

  1. Yiic migrate create <name>

创建一个新的迁移计划,产生一个类在protected/migrations下,你需要实现up和down两个函数

  1. Up    $this->createTable(‘表名’, array(结构));
  2. Down  $this->dropTable(‘表名’);删除该表

3)、应用所有迁移:

  1. Yiic migrate

如果没有给出“行动”参数,则默认为“向上”。

4)、向上迁移:

  1. Yiic migrate up 3

应用三步迁移,若没有数字默认是1

5)、还原迁移:

  1. Yiic migrate down 3

还原最后3步应用迁移,若没有数字默认是1

6)、指定版本迁移:

  1. Yiic migrate to 110809_085201

将迁移应用至2011-08-09  08:52:01创建的那个迁移计划

7)、标记指定迁移版本:

  1. Yiic migrate mark 110809_085201

让系统认为现在的迁移是2011-08-09  08:52:01的那个,但是不实际执行迁移计划。

这点与to命令不同,to会执行迁移计划应用,然后将状态标记,这个只标记。

8)、查看已应用迁移:

  1. Yiic migrate history [limit]

查看已应用的limit步迁移,若没有limit则显示所有

9) 查看可应用迁移:

  1. Yiic migrate new [limit]

查看可以应用的limit步迁移,若没有limit则显示所有

Yii命令行模式的更多相关文章

  1. php yii2 使用命令行模式开启脚本 报错 :Error while sending QUERY packet. PID=xxx

    背景:使用Yii2命令行模式开启脚本监控rabbitmq队列(或使用nohup &命令后台监控接口),当队列有订单信息,执行查询,更新操作(相当于PHP文件写个查询,更新,使用命令行启动) 问 ...

  2. 好压(HaoZip)的命令行模式用法介绍

    好压压缩软件,又叫“2345好压”,是一款国产的优秀压缩软件,目前是免费的,据官网介绍,该软件永久免费.官网地址:http://haozip.2345.com/ 本文主要对该软件的命令行模式用法进行介 ...

  3. WinRAR的命令行模式用法介绍

    因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下: 测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一些*.log和*.txt文件. 测 ...

  4. 命令行模式 svn版本管理

    linux 下svn 在命令行模式下的操作安装完svn服务并配置了环境变量之后,要创建一个存放工厂(项目)的仓库repositories用于版本控制(比如我的repositories的路径为 path ...

  5. Linux 命令行模式 你需要知道的那些事

    注: 安装软件 pip install + 软件名  例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ...

  6. 如何在命令行模式下查看Python帮助文档---dir、help、__doc__

    如何在命令行模式下查看Python帮助文档---dir.help.__doc__ 1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...

  7. Linux 开机启动方式设置 inittab 详解,开机直接进入“命令行”模式

    Linux下的 /etc/inittab 中的英文解释: This file describes how the INIT process should set up  the system in a ...

  8. Ubuntu 开机进入命令行模式

    1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ...

  9. 命令行模式下 MYSQL导入导出.sql文件的方法

    一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...

随机推荐

  1. Codevs1081 线段树练习 2

    题目描述 Description 给你N个数,有两种操作 1:给区间[a,b]的所有数都增加X 2:询问第i个数是什么? 输入描述 Input Description 第一行一个正整数n,接下来n行n ...

  2. 蓝牙stack bluez学习(1)Stack Architecture

    Bluez支持的features Core Specification 4.2 (GAP, L2CAP, RFCOMM, SDP, GATT) Classic Bluetooth (BR/EDR) B ...

  3. 安装ElasticSearch 6.1.1 head插件

    https://blog.csdn.net/zoubf/article/details/79007908 主要参考了这个blog 才完成所有的配置,很好的参考资料

  4. destoon去除编辑器替换图片删除原图功能,删除信息删除相关图片功能

    去除这些功能会造成大量垃圾图片,但是客户存在大量复制内容,其中图片一样,为了防止客户替换其中一个图片或者删除信息 造成其他复制信息图片丢失 去除文章模型级联图片功能. 对应模块class.php se ...

  5. 2.什么是composer与packgist,composer的安装

    目录 学习地址: composer与packgist关系图片 composer的安装; 配置composer 修改国内镜像 用composer安装与卸载插件 composer插件升级后报错 学习地址: ...

  6. 用Python抓取并分析了1982场英雄联盟数据,教你开局前预测游戏对局胜负!

    英雄联盟想必大多数读者不会陌生,这是一款来自拳头,由腾讯代理的大型网络游戏,现在一进网吧,你就能发现一大片玩英雄联盟的人.在2017年中国战队无缘鸟巢的世界总决赛后,一大片人选择了弃游,只是终究没躲过 ...

  7. 【HIHOCODER 1182】欧拉路·三

    描述 小Hi和小Ho破解了一道又一道难题,终于来到了最后一关.只要打开眼前的宝箱就可以通关这个游戏了. 宝箱被一种奇怪的机关锁住: 这个机关是一个圆环,一共有2^N个区域,每个区域都可以改变颜色,在黑 ...

  8. Linux学习-善用判断式

    利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...

  9. C++实现Behavioral - Observer模式 (转)

    转http://patmusing.blog.163.com/blog/static/13583496020101501923571/ 也称为Dependents或Publish-Subscribe模 ...

  10. 将系统从.Net Core2.0升级到.Net Core2.1

    最近将手头的一个.Net Core2.0开发的小系统升级到最新的Core2.1.升级期间遇到了一些问题,现将问题以及解决方法整理汇总一下. 一是作为笔记,二也为跟各位分享一下.如过能帮到看到这帖子的人 ...