您的第一個Drupal 8遷移
Feb 15, 2025 am 10:45 AM> 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-替換為實際鏈接)中可用
密鑰概念:
- drupal 8遷移由三個部分組成:
- , process 和 destination
。 源插件獲取原始數據,處理插件對其進行操作,並且目標插件將其保存為Drupal實體。 對於通過drush(推薦方法)運行遷移至關重要。 命令之類的命令和 控製過程。 - >
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的'流派'字段。
激活和執行:
- 啟用自定義模塊。
- > install
- 。
Migrate Tools
使用drush命令( - ,
migrate-status
,migrate-import --all
)。migrate-rollback --all
>
結論:
>
常見問題(常見問題解答):(它們在很大程度上是從輸入中不變的,因為它們是事實和相關的。 >
>遷移到drupal 8?- (答案保持不變)
- 的先決條件是什麼 >我如何準備我的drupal 8網站遷移? (答案保持不變)
- >我如何執行遷移過程? (答案保持不變) 在遷移過程中我的內容會發生什麼?
- >如果遷移過程失敗,該怎麼辦? (答案保持不變)
- >>我可以將網站的配置遷移到drupal 8? (答案保持不變) >
- 我如何將網站的主題遷移到Drupal 8? (答案保持不變) 我可以回滾遷移嗎?
- (答案保持不變) >我如何更新drupal 8? 中的遷移內容(答案保持不變)
- > 我可以執行部分遷移嗎? 請記住,如果您有一個>,請替換為實際鏈接。
以上是您的第一個Drupal 8遷移的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)