> drupal 8迁移:深入研究内容传输
迁移模块是Drupal生态系统的基石,以至于Core Drupal 8集成了其一些功能。 这对于用内容和配置迁移从Drupal 6和7到Drupal 8替换传统升级至关重要。虽然Core现在包括基本框架(在migrate
>模块中)和Drupal 6/7升级工具(IN migrate_drupal
),IN Migrate Tools
),贡献模块中仍然存在许多基本特征。 Migrate Source CSV
尤其重要,提供用于管理迁移的drush命令和用户界面。 此外,Migrate Source XML
,Migrate Source JSON
和
>本文通过将内容导入节点实体来演示Drupal 8迁移。为简单起见,我们将在Drupal安装中使用数据库表。 完整的代码可在[此存储库](link_to_to_repository_here-替换为实际链接)中可用
密钥概念:
Migrate Tools
drush migrate-import --all
drush migrate-rollback --all
迁移体系结构:>>示例:电影迁移
我们的示例涉及两个数据库表:
(id,name,Description)和(id,Movie_id,name)。 以下MySQL脚本创建了这些表,并使用示例数据填充它们:
流派迁移(movies
):movies_genres
<code class="language-sql">CREATE TABLE `movies` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `description` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; CREATE TABLE `movies_genres` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `movie_id` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; INSERT INTO `movies` (`id`, `name`, `description`) VALUES (1, 'Big Lebowsky', 'My favorite movie, hands down.'), (2, 'Pulp fiction', 'Or this is my favorite movie?'); INSERT INTO `movies_genres` (`id`, `movie_id`, `name`) VALUES (1, 1, 'Comedy'), (2, 1, 'Noir'), (3, 2, 'Crime');</code>源插件(位于
中)定义了SQL查询,字段和IDS。
migrate.migration.genres.yml
电影迁移():
<code class="language-yaml">id: genres label: Genres migration_group: demo source: plugin: genres key: default destination: plugin: entity:taxonomy_term process: vid: plugin: default_value default_value: tags name: name</code>
<code class="language-sql">CREATE TABLE `movies` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `description` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; CREATE TABLE `movies_genres` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `movie_id` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; INSERT INTO `movies` (`id`, `name`, `description`) VALUES (1, 'Big Lebowsky', 'My favorite movie, hands down.'), (2, 'Pulp fiction', 'Or this is my favorite movie?'); INSERT INTO `movies_genres` (`id`, `movie_id`, `name`) VALUES (1, 1, 'Comedy'), (2, 1, 'Noir'), (3, 2, 'Crime');</code>
Movies.php
源插件使用prepareRow()
添加包含流派ID的'流派'字段。
激活和执行:
Migrate Tools
migrate-status
,migrate-import --all
)。migrate-rollback --all
>
结论:
>
常见问题(常见问题解答):(它们在很大程度上是从输入中不变的,因为它们是事实和相关的。 >
>迁移到drupal 8?以上是您的第一个Drupal 8迁移的详细内容。更多信息请关注PHP中文网其他相关文章!