2010-03-16 43 views
2

我想取消当前模式的字段的必填项。我如何通过symfony迁移来完成这项工作?在迁移期间删除`not null`限制

+0

假设你的意思是作为ORM的学说? – richsage 2010-03-16 11:01:46

+0

确实!我目前在我的项目中使用Doctrine。 – 2010-03-16 11:03:07

回答

2

迁移意图改变数据库,而不是模式。所以你必须自己修改你的模式

此外,对我而言,最好和最干净的方法是手动编辑模式(只需在所需列上删除notnull: true)并发出symfony doctrine:generate-migrations-diff。这将生成新的迁移课程,您必须查看和测试(使用symfony doctrine:migrate --env=dev)。

+0

在此之前,感谢您的帮助!你的方法听起来很完美,但我的symfony框架版本是1.2。就我可以测试的情况而言,你提到的任务在这个版本中不存在。 此致敬礼! – 2010-03-16 13:29:35

+0

睿,先运行'symfony list doctrine'。然而,AFAIK,symfony 1.2包含Doctrine 1.0.x,在这个版本中可以使用迁移。 另外,我强烈建议升级到symfony 1.3。 – develop7 2010-03-16 15:26:11

+0

是的,迁移可以在我目前的symfony版本中找到,但前面提到的任务symfony教条:generate-migrations-diff不是。是的,我的首要任务之一是升级更高版本的symfony。 – 2010-03-18 14:22:12