Drupal的8.1.1 - 迁移3400 INSERT(从SQL),以自定义内容类型

问题描述:

我需要从phpMyAdmin的出口3400行迁移到一个自定义内容类型Drupal的以上8Drupal的8.1.1 - 迁移3400 INSERT(从SQL),以自定义内容类型

我试图与偏移模块做的,但对于示例Migrate Plus和Migrate Tools与我的Drupal版本不兼容(8.1.1)

我想使用PHP脚本导入记录。

我已经尝试过很多事情,但在很多情况下,我说“未定义的函数”(通过使用entity_create)以及我已经完成的更多证据。

实施例1:

$new_page_values = array(); 
$new_page_values['type'] = 'my_content_type'; 
$new_page_values['title'] = "Titulo"; 
$new_page_values['path'] = "Path"; 

$new_page = entity_create('node', $new_page_values); 
$new_page->save(); 

实施例2

$language = \Drupal::languageManager()->getCurrentLanguage()->getId(); 
$node = \Drupal\node\Entity\Node::create(array(
      'type' => 'article', 
      'title' => 'The title', 
      'langcode' => $language, 
      'uid' => 1, 
      'status' => 1, 
      'body' => array('The body text'), 
      'field_date' => array("2000-01-30"), 
      //'field_fields' => array('Custom values'), // Add your custon field values like this 
    )); 
$node->save(); 

实施例3:

db_insert('example_entity') 
    ->fields(array(
     'type' => $entity->getEntityTypeId(), 
     'id' => $entity->id(), 
     'created' => REQUEST_TIME, 
     'updated' => REQUEST_TIME, 
    )) 
    ->execute(); 

我试图从该服务器运行控制台PHP文件(PHP了updateData .php)

谢谢问候。

+0

请提供[MCVE](https://*.com/help/mcve)。 – oldtechaa

+0

示例发布在问题上。 – Javier

哈维尔,在D8的迁移仍然是一个在制品。

我的建议:

  • 安装最新的Drupal 8.1,
  • 安装最新的模块migrate_toolsmigrate_plusmigrate_source_csvmigrate_source_json。最好是最新的beta版本。
  • 将您的phpAdmin输出更改为csv文件。

也许你需要创建你的自定义实体。 Migrate_tools有两个迁移示例。它还包含一个csv示例。迁移过程应该无缝导入你的东西。

提示: YAML文件对空间等语法非常敏感。而且您不必识别外部/迁移数据库。但请记住,昨天的工作,今天可能会有所不同。我正在为过去6个月的迁移工作做准备。

移民过程是一个完全不同的故事,然后D7之一。

编辑:安装Drush 8.使用Composer轻松实现。 Drush需要从命令行运行迁移脚本,manifest已过时。

编辑2: IMO最好的解释和为什么使用D8迁移。 看看这个网站https://blog.liip.ch/archive/2016/05/04/using-the-new-drupal-8-migration-api-module.html。你希望使用你自己的PHP似乎主要是因为你似乎无法使用D8的迁移?