我想将数据从定制表迁移到book内容类型,但是我不知道如何实现。这是我的config\install\migrate.migration.book_content.yml文件:
id: book_content
label: Book content
migration_group: example
source:
plugin: book_content
target: db_migration
destination:
plugin: entity:node
process:
type:
plugin: default_value
default_value: article
title: title
uid:
plugin: default_value
default_value: 1
sticky:
plugin: default_value
default_value: 0
status:
plugin: default_value
default_value: 1
'body/value': content
'body/summary': excerpt
'body/format':
plugin: default_value
default_value: full_html
# Use of the migration process plugin.
# That will use the id map of the specified migration
# to retrieve the corresponding id ('source' parameter) in the destination database.
field_description:
plugin: migration
source: bodysrc\Plugin\migrate\source\BookContent.php
<?php
/**
* @file
* Contains \Drupal\docapi_migrate\Plugin\migrate\source\BookContent.
*/
namespace Drupal\example_migrate\Plugin\migrate\source;
use Drupal\migrate\Plugin\migrate\source\SqlBase;
use Drupal\migrate\Row;
/**
* Drupal 8 node from database.
*
* @MigrateSource(
* id = "book_content"
* )
*/
class BookContent extends SqlBase {
/**
* {@inheritdoc}
*/
public function query() {
$query = $this->select('docapi_migrate', 'dm')
->fields('dm', array('url', 'depth', 'body', 'meta'));
return $query;
}
/**
* {@inheritdoc}
*/
public function fields() {
$fields = array(
'url' => $this->t('Content url'),
'depth' => $this->t('Depth of the content'),
'body' => $this->t('Full text of the content'),
'meta' => $this->t('yaml data'),
);
return $fields;
}然而,当我这样做的时候:
drush migrate-import book_content我得到了:
The drush command 'migrate-import book_content' could not be found.我不明白这在BookContent.php中是如何工作的。应该有带有分类引用的tags_field,但是我不知道应该在哪里处理元数据,例如,我得到了一个标签列表。当我有标签时,我应该如何组合它,这样迁移才能正常工作。我通过谷歌搜索信息,但没有真正有意义的信息。我怎么才能理解这个呢?
发布于 2017-04-20 20:05:34
您的命名空间设置为example_migrate。它需要设置为您的模块的名称,因此除非模块名为"example_migrate“,否则它无法找到类。
更改名称空间以匹配YOUR_MODULE_NAME。
namespace Drupal\YOUR_MODULE_NAME\Plugin\migrate\source;有关名称空间的更多信息可以在谷歌搜索PSR0时找到。
https://stackoverflow.com/questions/43477843
复制相似问题