geeks4change / h4c_migrate
此软件包已被放弃,不再维护。未建议替代包。
将数据迁移到H4C。
1.0.x-dev
2021-02-27 13:56 UTC
Requires
- drupal/migrate_devel: ^1.2@beta
- drupal/migrate_file: ^1.1
- drupal/migrate_plus: ^4.0
- drupal/migrate_source_csv: ^2.2
- drupal/migrate_tools: ^4.0
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导入
- https://editor.swagger.io -> 文件 -> 导入URL -> https://raw.githubusercontent.com/slowtec/openfairdb/master/openapi.yaml - unten (über Schemas) auf Export, dort die Koordinaten der Schweiz eingeben und auf "Try it out"
- 列匹配
- 组合地址:
=I2&", "&J2&", "&K2
- 填写地点名称
- 标签:用";"替换","
- 将商业和倡议小写