Silverstripe仅创建Indices但不创建外键

时间:2013-02-25 01:29:29

标签: php postgresql foreign-keys silverstripe

我正在使用PostgresSQL模块进行SilverStripe。

我的问题是我可以用例如:

来定义关系
public static $has_one = array( 
'PageRedirect' => 'SiteTree', 
);

这段代码将做的是它将使用带有命名模式的Indice创建数据库:ix_tablename_pageredirectId 但是没有创建外键。

此外,SilverStripe似乎在空关系的列中写入“0”而不是“null”。所以实际上你甚至不能创建那些外键约束,因为SilverStripe会不断地违反它们。

如何在数据库中配置SilverStripe以获得正确的外键约束?

这是SilverStripe v2.4.x

1 个答案:

答案 0 :(得分:2)

不幸的是,对于SilverStripe 2.x或3.x来说,这是不可能的,并且在获得支持方面没有积极的开发。值得注意的是,我们正在努力使数据库层更加模块化(announcement,这样可以更容易地实现参照完整性。

关于silverstripe.org的主题,还有一个(相当古老的)讨论。