0

我使用以下代码从我的模型构建我的表:

Doctrine::createTablesFromModels();

我刚刚开始一个新项目,这是我第一次在应用程序中使用 Doctrine。到目前为止,由于我刚刚开始并且没有任何数据,所以我只是在每次更改模型时都在 phpMyAdmin 中删除表并运行上面的代码。显然,这在生产环境中不是一个选项。

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

或者,在让 Doctrine 生成我的表格方面,我是否走错了方向?我应该自己维护它们并在我的模型中保持我的关系和列是最新的吗?

我将 Doctrine 1.2 与 CodeIgniter 框架一起使用。

4

2 回答 2

1

查看 Doctrine Migrations,这是在模型/模式版本之间编写更改脚本的方法。

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/migrations/en

就个人而言,我只是对我的架构进行更改,然后从中生成模型。

于 2010-11-11T07:06:13.593 回答
0

我正在使用 Doctrine2,这是我过去所做的:

  1. 将表重命名为 tablename_BAK
  2. 使用教义创建新表
  3. 执行 INSERT SELECT 语句将数据移动到表中。

注意::如果您定义了触发器,这可能会变得很麻烦。对于生产站点也不是一个好主意,除非其“停机维护”类型的情况。

插入选择

于 2012-03-13T15:06:25.920 回答