1

我正在使用 SilverStripe 的 PostgresSQL 模块。

我的问题是我可以定义关系,例如:

public static $has_one = array( 
'PageRedirect' => 'SiteTree', 
);

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

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

如何在数据库中为适当的外键约束配置 SilverStripe?

这是 SilverStripe v2.4.x

4

1 回答 1

2

不幸的是,SilverStripe 2.x 或 3.x 根本无法做到这一点,并且在获得支持方面没有积极的发展。值得一提的是,我们正在努力使数据库层更加模块化(announcement,这应该允许更轻松地实现引用完整性。

silverstripe.org上也有关于该主题的(相当古老的)讨论。

于 2013-02-26T07:54:13.343 回答