我正在使用PostgresSQL模块进行SilverStripe。
我的问题是我可以用例如:
来定义关系public static $has_one = array(
'PageRedirect' => 'SiteTree',
);
这段代码将做的是它将使用带有命名模式的Indice创建数据库:ix_tablename_pageredirectId 但是没有创建外键。
此外,SilverStripe似乎在空关系的列中写入“0”而不是“null”。所以实际上你甚至不能创建那些外键约束,因为SilverStripe会不断地违反它们。
如何在数据库中配置SilverStripe以获得正确的外键约束?
这是SilverStripe v2.4.x
答案 0 :(得分:2)
不幸的是,对于SilverStripe 2.x或3.x来说,这是不可能的,并且在获得支持方面没有积极的开发。值得注意的是,我们正在努力使数据库层更加模块化(announcement,这样可以更容易地实现参照完整性。
关于silverstripe.org的主题,还有一个(相当古老的)讨论。