Field API中捆绑关系的外键?

时间:2011-03-19 14:32:27

标签: api drupal field drupal-7

我正在使用预先存在的数据库并转移到Drupal 7。 遗留数据库模型具有公共列的基础对象表,然后是类型列,指定对象是图像,标本,分类单元等。每个“类型”都有自己独立的列表(图像表,样本表, locality table等),使用外键绑定到基础对象表。

在某些情况下,如图像,有一列引用标本ID。换句话说,几个图像可以属于相同的“samples_id”。此ID是相关样本的基础对象ID。

在迁移到Drupal时,我为基础对象表创建了一个新实体,然后为每个基础对象'type'定义了包。用作每个'type'表的一部分的列,我现在在安装模块期间附加到bundle。我这样做是通过定义一个字段和字段实例数组,然后循环遍历数组并调用field_create_field()field_create_instance()

这是正确的做法吗?
当我创建一个像samples_id这样的外键字段时,它如何知道这是引用给定样本的基础对象实体ID?
为了建立这些关系,我是否应该使用hook_field_schema()来定义它们,因为它有外键设置,然后创建字段和字段实例?

当然,这在创建视图和需要提取信息时变得相关。我猜它可以用作捆绑< =>捆绑关系。在CRUD操作期间,我可以在需要时使用ID获得我需要的东西。

感谢任何帮助或见解。

1 个答案:

答案 0 :(得分:-1)

使用Migrate模块。

“迁移模块提供了一个灵活的框架,用于将内容从其他来源迁移到Drupal(例如,将网站从另一个CMS转换为Drupal时)”。