Yiic和migrate

前言

目前在做PHP项目,有时候出了问题,开发会说,那个yiic你跑了没,那个migrate你跑了没。这都什么鬼,一头雾水对不对?

首先一句话介绍一下Yii是啥,后面才好具体说明。

Yii 是一个基于组件、纯OOP的、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。

正文

Yiic

Yii framework 的强大 yiic 工具。

先从测试角度说一下拿到开发给的yiic命令怎么用,以及怎么看这个命令具体实现了什么内容。

默认配置文件目录:webapp\protected\commands (webapp对应着你的项目目录)

跑yiic命令

cd webapp/protected/
php yiic somecommand

这个somecommand对应着webapp\protected\commands目录下的同名php文件。

所以这个命令具体做了些什么,打开来研究一下就懂了。

migrate

Yii framework 提供的一个命令,用于数据迁移。

默认配置文件目录:webapp\protected\migrations(webapp对应着你的项目目录)

跑migrate命令

cd webapp/protected/
php migrate somemigrate 

这个somemigrate对应着webapp\protected\migrations目录下的同名php文件,而这个文件中的内容也是和数据库操作相关的。

那么这个命令具体做了些什么,打开来研究一下就懂了。

为啥用YII

YII能干啥

这个等我研究明白了再补上……

时间: 2024-08-27 22:54:32

Yiic和migrate的相关文章

yii migrate 数据迁移过程

修复后台bug进行中... 数据迁移开始: 百度查到的是 yii migrate 命令,但在项目中用的是 yiic migrate,首先命令创建一个要表动数据的表: 然后再migrations 目录会生成一个时间开始,接输入的文件名称的 php 文件 这里我新增了一行数据,然后对该文件进行提交,执行 yiic migrate 命令: 明显报了个错:CDbConnection failed to open the DB connection: could not find driver, 这里是因

项目无错误还报This project needs to migrate WTP metadata错

总得来说,项目出现错误:This project needs to migrate WTP metadata解决:右击该项目然后选择"验证",也就是Validate就可以解决,只不过位置不同. 简单的解决方法就是右击项目然后选择Validate,做完validate后错误就消失了. 但是我笔记本上myeclipse就是没有Validate选项,后来才发现,在项目右键选项myeclipse下有个run Validate,单击它之后,运行一会错误就消失了,好爽.

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us ers_email_unique`(`email`))

Laravel 5.4 migrate报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `us     ers_email_unique`(`email`)) public function up() { Schema::create('users', function (Blu

laravel 执行migrate出现异常

今天在执行laravel migrate时出现异常,找了好半天才找到问题所在,特此记录一下. 配好数据库,执行 ``` php artisan migrate ```.但是遇到了问题: migrations中up函数为: public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->

OpenStack虚机迁移live-migration失败(error: internal error Attempt to migrate guest to the same host)

现象:执行迁移live-migration操作后,显示成功迁移,但是实际没有执行迁移动作 解决过程: 在dashboard执行虚机热迁移操作,提示操作成功,但是实际虚机没有迁移: 之前遇到过内存不足导致迁移失败,但是经过查看发现源和目的节点资源充足: 然后在nova的log看到如下内容:DestinationDiskExists_Remote: The supplied disk path (/var/lib/nova/instances/e40708e3-7f19-4f9c-8d19-3e60

9.Django里的数据同步migrate命令

一个关键的目录: 目录名:migrations 作用:用来存放通过makemigrations命令生成的数据库脚本,这里的内容一般不要手动去改 规定:app目录下必须要有migrations目录且目录下必须有__init__.py才能正常使用数据库同步的功能 一个关键的表 表名:django_migrations 作用:记录脚本的使用情况 字段: app:app名字 name:脚本的文件名称 applied:脚本执行的时间 常用命令: flush:清空数据库所有表的数据,系统表数据恢复初始值 s

Yii2的相关学习记录,前后台分离及migrate使用(七)

最近一直忙其它的(其实是懒!),将<深入理解Yii2>看了一遍,一些当初没明白的稍微明了了点,然后又看yii2的图片上传等处理.富文本.restful什么的,但由于没进行到这里,只看也不管用啊,所以还是按照步骤一步步来,先说说前后台分离.(其实普通的内容管理站点用不着下面所说的彻底分离什么的,看看也无妨) 个人感觉前后台的情况有这么几种,首先是前后台是否是用一个验证体系,其次是前后台是否共用一个数据表.一般来说下面三种比较常用吧: A.共用一个验证体系和一个数据表. B.两个验证体系和共用一个

执行yiic webapp命令时报错:php.exe不是内部或外部命令,也不是可运行的程序

在执行 yiic webapp ../abc 命令时报错: “php.exe”不是内部或外部命令,也不是可运行的程序 或批处理文件. 这是因为yiic批处理程序找不到php.exe的执行路径引起的. 解决方法: 打开yiic.bat文件, 将php.exe的绝对路径赋值给PHP_COMMAND,将: if “%PHP_COMMAND%” == “” set PHP_COMMAND=php.exe 改为 if “%PHP_COMMAND%” == “” set PHP_COMMAND=E:\xam

Laravel 5.4 migrate时报错: Specified key was too long error

Laravel 5.4默认使用utf8mb4字符编码,而不是之前的utf8编码.因此运行php artisan migrate 会出现如下错误: [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add