yii migrations的意义[翻译]

来源:互联网 发布:办公自动化软件速成班 编辑:程序博客网 时间:2024/06/06 09:00

我很早就知道yii有个叫migrations的东西,但一直不觉得有什么意义,今天看到这篇引文文章很好的说明了migrations的意义,我试着翻译一下:

首先,我们为什么需要migrations呢?
很久以来,PHP一直没有一种机制把项目最新的DB结构同时同步到不同的机器上.
很多时候我们是卸掉原来的DB结构再把最新的DB结构导进来.
如果某人修改了数据库结构,那么我们不得不把修改的SQL文件在所有不同的机器上跑一遍.而且这个修改者可能要一个一个得通知到所有人(实际情况可能要好点).
现在YII提供了一个管理我们DB结构的方法.我们不需要浪费时间和精力来维护我们的DB结构了.
以下是在开发过程中使用migrations的步骤:

1.Tim创建了一个新的migration(比如创建了一个新的表)
2.Tim把这个migration通过代码管理工具(SVN,GIT等)提交到代码管理服务器.
3.Doug update了他的代码,拿到了这个migration.
4.Doug(无脑地)使用了这个migration,然后他本地的数据库结构就和其他人的保持一致了.

使用migration

% cd WebRoot/webappname
% php protected/yiic migrate create name
# Migration command list
% php protected/yiic migrate # 应用所有的新的migration
% php protected/yiic up [step] # 应用一个或多个migration
% php protected/yiic down [step] # 回滚一个或多个已经应用的migration

原文地址: http://www.cnblogs.com/mztest/archive/2012/10/15/2724367.html

文章比较老,使用方法可能已失效,实际使用时请参考教程.

0 0