我使用以下代码从我的模型构建表格:
Doctrine::createTablesFromModels();
我刚刚开始一个新项目,这是我第一次在应用程序中使用Doctrine。到目前为止,由于我刚刚开始并且没有任何数据,我只是在phpMyAdmin中删除表并在每次对模型进行更改时运行上面的代码。显然,这不是生产环境中的选项。
Doctrine是否有一个我可以调用的方法或方法块,它会丢弃并重建表而不会丢失现有数据?也许首先将它保存到一些临时表中?如果没有,我完成同样的事情的其他选择是什么?
或者,在让Doctrine生成我的表格时,我是否走错了方向?我应该自己维护它们并在模型中保持我的关系和列更新吗?
我正在使用Doctrine 1.2和CodeIgniter框架。
答案 0 :(得分:1)
查看Doctrine Migrations,它是在模型/模式版本之间编写更改脚本的方法。
http://www.doctrine-project.org/projects/orm/1.2/docs/manual/migrations/en
就个人而言,我只是对我的架构进行了更改,然后从中生成模型。
答案 1 :(得分:0)
我正在使用Doctrine2,这是我过去做过的事情:
注意:: 如果您定义了触发器,这可能会变得毛茸茸。对于生产现场来说,这也不是一个好主意,除非它是" Down for maintenance"情况类型。