geeks4change/h4c_migrate

此软件包已被放弃,不再维护。未建议替代包。

将数据迁移到H4C。

1.0.x-dev 2021-02-27 13:56 UTC

This package is not auto-updated.

Last update: 2024-01-15 01:52:37 UTC


README

为组织、术语、群组、事件和用户从CSV提供基本导入功能。位置将自动附加到组织中。

编辑文档

通用CSV设置

  • Unicode (UTF-8)
  • 字段分隔符: ,
  • 文本分隔符: "
  • 将文本包围在反引号内
  • 使用;作为分隔符来分隔实体或文本列表
  • 参见示例文件

示例CSVs

示例文件夹中的文件

  • h4c_terms_import.csv
  • h4c_organisations_import.csv
  • h4c_events_import.csv
  • h4c_users_import.csv
  • h4c_users_in_groups.csv

关于h4c_organisations_import.csv的说明

  • 必填字段: ID, 标题, 摘要, organisation_types
  • ID: 请填写唯一编号(例如:1, 2,...)
  • 网站:请使用http://或https://以确保URL有效
  • 电子邮件:公开,只允许一个电子邮件地址
  • 电话:公开,允许两个(用;分隔)
  • 组织:填写该组织所属组织的ID
  • 营业时间简短文本:填写文本,结构化营业时间只能通过手动UI添加
  • location_wheelchair: 允许的值:yes, limited 或 no(单值)
  • organisation_types: 允许的值:initiative 或 business 或 both(用;分隔)
  • topics, business_types, sustainability, tags: 输入术语(多个值时用;分隔)

技术文档

安装

  • composer install geeks4change/h4c(如有必要)
  • drush en h4c_migrate

有用命令

  • drush ms(迁移状态)
  • drush mim(迁移导入)(--limit=100 ... 用于测试)
  • drush mr(迁移回滚)
  • drush mrs(迁移重置)
  • drush mmsg(迁移消息)
  • 选项: migration-name; --all; --group=migration-group-name

导入失败的原因/可能出现的问题

  • csv底部的空行
  • 重复ID(例如:在LibreCalc的交叉表中检查)
  • 获取h4c_group_content内容插件组的ID
  • 父实体必须首先导入(组织/父术语),否则导入将因可疑错误而停止
  • 对于主题:如果过程插件中不存在分隔符,则删除分隔符后的空格

设置要导入的H4C实例

  • 禁用要导入的节点的内容审核工作流(否则节点将在导入后发布)
  • 禁用新内容的电子邮件通知
  • 禁用群组行为
  • taxonomy_machine_name: https://www.drupal.org/project/taxonomy_machine_name "注意:与Migrate一起工作时,引用不再是'name'属性,而是'machine_name'。"

导入程序的说明

  • 由于您需要在H4C实例中进行许多设置,因此最好有一个仅用于导入的专用实例/分支(类似于开发、预发布等)
  • 这样,您可以在任何时间重新导入或更新,并简单地将新的数据库传输到开发或预发布(不要忘记在数据库传输后运行drush cim)

迁移组织与术语

程序

  • 从./example/复制文件到docroot/sites/default/files/migration/
  • 填写要导入的数据列
  • 重要:作为父组织引用的组织必须在csv文件中首先出现(h4c_organisation引用自身)!否则h4c_group_content将抛出错误!
  • 不要删除任何列,列数对于字段匹配很重要

迁移组

每个迁移文件也可以单独运行,如果满足依赖条件。

h4c_general

  • 多语言术语

h4c_organisation_import

  • 组织(带段落),地点(来源于组织),群体,群体内容,图片
  • 地点可重复使用
  • 对于每个组织,将创建一个群体。每个组织自动成为相应群体的一部分。

h4c_event_import

  • 事件(带段落),地点,图片
  • 地点不可重复使用

h4c_user_import

  • 导入用户
  • 导入群体成员资格(需要csv h4c_users_in_groups_import.csv)

h4c_campaign_import

  • h4c_campaign导入h4c_campaign所需的节点类型,而不是活动节点本身(需要澄清)
  • 需要定制,例如匹配术语和节点类型名称

使用--update更新地址地理编码并维护现有坐标(需要测试)

  • 必须在“/admin/config/system/geocoder”中输入Google API密钥并启用“使用SSL”
  • field_location_geofield是从field_location_address地理编码的(仅当在此处也输入API密钥时:/admin/config/system/geocoder)
  • 导入地点
  • 在/admin/structure/types/manage/location/fields/node.location.field_location_geofield中从地址关闭field_location_geofield的地理编码
  • 导入--update地点,以便在field_location_geofield中维护导入的坐标,而不是被地址地理编码覆盖

从kvm导入

进一步阅读