Silverstepe只创建索引,但不创建外键


Silverstripe creates only Indices but no Foreign Keys

我正在为SilverStripe使用PostgresSQL模块。

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

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

此代码将使用命名模式为ix_tablename_pageredirectId的Indice创建数据库但是,不会创建外键。

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

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

这是SilverStripe v2.4.x

不幸的是,SilverStripe 2.x或3.x根本不可能做到这一点,而且在获得支持方面也没有积极的开发。值得注意的是,我们正在努力使数据库层更加模块化(公告,这应该允许更容易地实现引用完整性

silverstripe.org.

上也有一个(相当古老的(关于这个主题的讨论