Symfony2 doctrine:schema:update不断更新

时间:2015-07-10 11:12:45

标签: php symfony doctrine-orm

我刚刚在我的模型中添加了一个新属性:

/**
* @ORM\Column(name="has_donation", type="boolean", options ={"default":false})
*/
private $hasDonation;

然后我试着跑:

php app/console doctrine:schema:update --force 

给了我以下结果:

Updating database schema...
Database schema updated successfully! "1" queries were executed

问题是,每次运行schema:update命令时,我都会得到相同的结果 - 不对我的实体进行任何更改。知道为什么吗?谢谢!

更新 这是php app/console doctrine:schema:update --dump-sql的出局:

ALTER TABLE Clinic CHANGE has_donation has_donation TINYINT(1) DEFAULT '0' NOT NULL;

2 个答案:

答案 0 :(得分:3)

我可以假设这个问题是由于使用了非法或不相关的映射信息而引起的。

如果是提问者,选项\\d是非法的。

我遇到了与代码相同的问题:

"default":false

在我的情况下,选项/** * @ORM\Column( * type="boolean", * nullable=false, * options={"unsigned":true, "comment":"Is file uploaded manually?"} * ) */ protected $manual = false; 无关紧要。删除此选项后,我得到了代码。

答案 1 :(得分:2)

首先,尝试删除缓存。

然后,尝试Sub testPt() Dim Pt As PivotTable, _ Pf As PivotField, _ Pi As PivotItem, _ PiO As PivotItem, _ TpStr As String, _ RgT As Range, _ Rg As Range Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("PT_All") For Each Pt In ws.PivotTables For Each Pf In Pt.PivotFields If Pf.Name = "Sales" Then For Each Pi In Pf.PivotItems Set RgT = Pi.LabelRange For Each PiO In Pt.PivotFields("Sales_Opp").PivotItems Set Rg = Nothing On Error Resume Next Set Rg = Pt.GetPivotData("Amount", Pf.Name, Pi.Name, "Sales_Opp", PiO.Name) On Error GoTo 0 If Not RgT Is Nothing Then If Not Rg Is Nothing Then Set RgT = Union(RgT, Rg) Else: If Not Rg Is Nothing Then Set RgT = Rg End If Next PiO Next Pi End If Next Pf Next Pt If Not RgT Is Nothing Then RgT.Select MsgBox RgT.Address Else: MsgBox "RgT is empty" End If End Sub 查看更新内容。 有时会记录这些带有php app/console doctrine:schema:update --dump-sql差异的选项。至少在PostgreSQL上我们使用。

您可能需要它们手动运行它们。

我们的工作流程提示:

1)我们设置实体

2)然后运行"default": false

3)然后运行迁移,添加未转换为数据库的详细信息