> 백엔드 개발 > PHP 튜토리얼 > 첫 번째 Drupal 8 마이그레이션

첫 번째 Drupal 8 마이그레이션

Lisa Kudrow
풀어 주다: 2025-02-15 10:45:12
원래의
951명이 탐색했습니다.

Drupal 8 마이그레이션 : 콘텐츠 전송으로의 깊은 다이빙 마이그레이션 모듈은 Drupal 생태계의 초석이므로 Core Drupal 8이 그 기능의 일부를 통합했습니다. 이는 전통적인 업그레이드를 컨텐츠 및 Drupal 6 및 7에서 Drupal 8으로 컨텐츠 및 구성 마이그레이션으로 바꾸는 데 중요했습니다. Core는 이제 기본 프레임 워크 (

모듈) 및 Drupal 6/7 업그레이드 도구 (in

)를 포함합니다. 많은 필수 기능이 기여한 모듈에 남아 있습니다. 는 특히 중요합니다. Drush 명령과 마이그레이션 관리를위한 사용자 인터페이스를 제공합니다. 또한 , 및 와 같은 모듈은 공통 데이터 소스에 대한 플러그인을 제공합니다. migrate migrate_drupal 이 기사에서는 콘텐츠를 노드 엔티티로 가져 와서 Drupal 8 마이그레이션을 보여줍니다. 간단하게하기 위해 Drupal 설치 내에서 데이터베이스 테이블을 사용하겠습니다. 전체 코드는 [이 저장소] (Link_to_Repository_here- 사용 가능한 경우 실제 링크로 교체)에서 사용할 수 있습니다. 주요 개념 : Migrate Tools Migrate Source CSV Drupal 8 마이그레이션은 세 부분으로 구성됩니다. 소스 , 프로세스 Migrate Source XML 및 대상 . 소스 플러그인은 원시 데이터를 가져오고 프로세스 플러그인을 조작하며 대상 플러그인을 Drupal 엔티티로 저장합니다. Migrate Source JSON 는 Drush (권장 방법)를 통한 마이그레이션을 실행하는 데 필수적입니다. 및

와 같은 명령은 프로세스를 제어합니다

마이그레이션 아키텍처 : Your First Drupal 8 Migration Drupal 8 마이그레이션은 플러그인 시스템을 사용합니다. 소스 플러그인은 원시 데이터, 프로세스 플러그인 변환 및 대상 플러그인을 Drupal 엔티티에 저장합니다. 이 파이프 라인은 마이그레이션 구성 엔티티 (일반적으로 모듈 구성, ​​모듈에서 가져 오는 모듈 구성) 내에 정의됩니다. 예 : 영화 마이그레이션

이 예제에는 두 개의 데이터베이스 테이블이 포함됩니다 :

(id, name, description) 및

(id, movie_id, name). 다음 MySQL 스크립트는 이러한 테이블을 생성하여 샘플 데이터로 채 웁니다. 목표는 영화를 분류 용어 (태그 어휘)로 기사 노드와 장르로 마이그레이션하여 영화 장르 협회를 유지하는 것입니다. 장르 마이그레이션 () :

소스 플러그인 (에 위치)은 SQL 쿼리, 필드 및 ID를 정의합니다. 영화 마이그레이션 () :
    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');
    로그인 후 복사

    소스 플러그인은 장르 ID를 포함하는 '장르'필드를 추가하기 위해 Movies.php를 사용합니다. 활성화 및 실행 : prepareRow()

    사용자 정의 모듈을 활성화합니다

    설치 . drush 명령을 사용하십시오 (, , 결론 :

    이 예제는 Drupal 8의 마이그레이션 기능을 보여줍니다. 다양한 소스 플러그인, 프로세스 플러그인 및 다양한 마이그레이션 요구를 처리 할 수있는 사용자 정의 솔루션의 가능성을 탐색하십시오.
      자주 묻는 질문 (FAQS) :
    1. (이것은 사실적이고 관련성이 있기 때문에 입력에서 크게 변하지 않습니다.)
    2. Drupal 8으로 마이그레이션하기위한 전제 조건은 무엇입니까? 마이그레이션을 위해 Drupal 8 사이트를 어떻게 준비합니까? Migrate Tools (답은 동일하게 유지)
    3. 마이그레이션 프로세스를 어떻게 수행합니까? migrate-status (대답은 동일하게 유지) migrate-import --all 마이그레이션 과정에서 내 콘텐츠에 어떤 일이 발생합니까? migrate-rollback --all (답은 동일하게 유지) 마이그레이션 프로세스가 실패하면 어떻게해야합니까?
    4. (답은 동일하게 유지)
    내 사이트의 구성을 Drupal 8으로 마이그레이션 할 수 있습니까? 내 사이트의 테마를 Drupal 8으로 어떻게 마이그레이션합니까?

    (답은 동일하게 유지) 마이그레이션을 롤백 할 수 있습니까? (대답은 동일하게 유지)

    Drupal 8에서 마이그레이션 된 내용을 업데이트하려면 어떻게해야합니까?

    (답은 동일하게 유지됨)

    부분 마이그레이션을 수행 할 수 있습니까?

    (대답은 동일하게 유지됩니다)

    가 실제 링크가있는 경우 실제 링크로 바꾸는 것을 잊지 마십시오.

    위 내용은 첫 번째 Drupal 8 마이그레이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿