> 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
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');
中)定義了SQL查詢,字段和IDS。
migrate.migration.genres.yml
電影遷移():
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
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');
Movies.php
源插件使用prepareRow()
添加包含流派ID的'流派'字段。
激活和執行:
Migrate Tools
migrate-status
,migrate-import --all
)。 migrate-rollback --all
>
結論:
>
常見問題(常見問題解答):(它們在很大程度上是從輸入中不變的,因為它們是事實和相關的。 >
>遷移到drupal 8?以上是您的第一個Drupal 8遷移的詳細內容。更多資訊請關注PHP中文網其他相關文章!