Php Silverstripe只创建索引,不创建外键

Php Silverstripe只创建索引,不创建外键,php,postgresql,foreign-keys,silverstripe,Php,Postgresql,Foreign Keys,Silverstripe,我正在为SilverStripe使用PostgresSQL模块 我的问题是,我可以定义与的关系,例如: public static $has_one = array( 'PageRedirect' => 'SiteTree', ); 这段代码将要做的是,它将创建一个带有命名模式标识的数据库:ix_tablename_pageredirectId 但是,不会创建外键 此外,SilverStripe似乎在空关系列中写入“0”而不是“null”。所以实际上,您甚至不能创建这些外键约束,因为

我正在为SilverStripe使用PostgresSQL模块

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

public static $has_one = array( 
'PageRedirect' => 'SiteTree', 
);
这段代码将要做的是,它将创建一个带有命名模式标识的数据库:ix_tablename_pageredirectId 但是,不会创建外键

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

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


这是SilverStripe v2.4.x

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

关于这个话题,还有一个(相当古老的)讨论