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)
谢谢问候。
答
哈维尔,在D8的迁移仍然是一个在制品。
我的建议:
- 安装最新的Drupal 8.1,
- 安装最新的模块migrate_tools,migrate_plus,migrate_source_csv和migrate_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的迁移?
请提供[MCVE](https://stackoverflow.com/help/mcve)。 – oldtechaa
示例发布在问题上。 – Javier