0

我有一个客户需要将数据从大型电子表格导入drupal。他们已经设置了模块,并且我将所有数据都放在了正确的表中……看起来如此。我已经运行了自己的自定义脚本来操作电子表格中的内容并将其导出/导入到 drupal 数据库中。

但是,当我在后端查看该类型的内容时,它显示有多个数据页面,但显示“无可用内容”。在每一页。这是我导入的表:

// for the business listing node type
field_data_field_bd_address_city
field_data_field_bd_address_street
field_data_field_bd_address_zip
field_data_field_bd_business_type
field_data_field_bd_contact_email
field_data_field_bd_contact_name
field_data_field_bd_description
field_data_field_bd_image
field_data_field_bd_listing_type
field_data_field_bd_phone
field_data_field_bd_tags
field_data_field_bd_website

// drupal default tables
node
node_comment_statistics
taxonomy_index
taxonomy_term_data
taxonomy_term_hierarchy
taxonomy_vocabulary

我是否缺少任何需要将数据导入以建立连接的表?

4

3 回答 3

2

我之前遇到过这个问题,我花了一段时间才解决它。这是在有人向我提到提要模块之前,所以我认为这是我唯一的选择。

如果您要直接上传到您的数据库,您还需要将数据输入到修订表中。所以你会有:

// for the business listing node type
field_data_field_bd_address_city
field_data_field_bd_address_street
field_data_field_bd_address_zip
field_data_field_bd_business_type
field_data_field_bd_contact_email
field_data_field_bd_contact_name
field_data_field_bd_description
field_data_field_bd_image
field_data_field_bd_listing_type
field_data_field_bd_phone
field_data_field_bd_tags
field_data_field_bd_website

并且:

// for the business listing node type
field_revision_field_bd_address_city
field_revision_field_bd_address_street
field_revision_field_bd_address_zip
field_revision_field_bd_business_type
field_revision_field_bd_contact_email
field_revision_field_bd_contact_name
field_revision_field_bd_description
field_revision_field_bd_image
field_revision_field_bd_listing_type
field_revision_field_bd_phone
field_revision_field_bd_tags
field_revision_field_bd_website

节点表也是如此。这花了我一段时间来锻炼并为我工作。通常有人会提到提要模块,这可以节省我的时间,但我想我会分享对我有用的东西。

于 2012-06-13T14:14:44.290 回答
1

我建议使用Feeds 模块,而不是手动将数据直接导入数据库并试图弄清楚如何满足所有关系依赖项以使其工作

如果您希望继续手动过程,也许这个 Drupal 数据库的 ER 图会有所帮助(请记住,它有点过时,可能基于 Drupal 7 的早期版本)。

于 2012-06-13T12:58:46.603 回答
0

我想到了。我必须将数据添加到 node_revision 表中,状态为 1 设置为所有节点,之后效果就很好了!

于 2012-06-14T13:35:47.737 回答