2010-11-11 20 views
0

我用下面的代码从我的模型建立我的表:如何使用Doctrine从模型中删除和重建表格而不丢失数据?

Doctrine::createTablesFromModels(); 

我刚开始一个新的项目,这是我第一次用在学说的应用。到目前为止,因为我刚开始并没有任何数据,所以我刚刚删除了phpMyAdmin中的表格,并在每次更改模型时运行上面的代码。很明显,这不会是生产环境中的一种选择。

是否Doctrine有一个方法或我可以调用的方法块会丢弃和重建表,而不会丢失现有的数据?也许先将它保存到一些临时表中?如果没有,我还有什么其他的选择来完成同样的事情?

或者,我让教条生成我的表是完全错误的方向吗?我是否应该自己维护它们,并保持我的模型中的关系和列最新?

我使用Doctrine 1.2与CodeIgniter框架。

回答

0

我使用Doctrine2,这里就是我在过去所做的那样:

  1. 重命名表tablename_BAK
  2. 创建主义
  3. 做一个INSERT SELECT语句来移动新表你数据放入表格中。

注意::如果您定义了触发器,这可能会变得毛茸茸的。对于生产现场来说,除非其“维护保养”类型的情况不是一个好主意。

请参阅INSERT SELECT

相关问题