Questions tagged «migration»

“迁移”是指数据从不同的框架/ CMS迁移到Drupal,或从Drupal迁移到Drupal。

3
如何从测试环境迁移到生产环境?
从本地环境到生产环境的迁移。生产环境已经运行了一段时间,并创建了许多文章。 为了向网站添加新内容,我添加了自定义主题,并在本地测试环境中安装了CCK,Views和其他模块。现在,本地测试环境已完成,如何在不破坏其数据库内容的情况下将其迁移到生产环境?
46 7  migration  staging 

4
从开发->阶段->生产迁移(CMI)配置的建议工作流程是什么?
几个月前,我们有一个drupalcamp,有人问如何使用新的配置(CMI)系统管理部署。一种可能的理想工作流程是将配置保留在版本控制中,并且仍然能够在团队成员之间迁移配置。 我们在会议室中能够发现的最好结果(部分基于DrupalCon Portland的演讲)是: 告诉版本控制忽略活动的配置目录。 将所有配置复制到暂存目录并提交到版本控制。 并使用settings.php在两个环境之间反转活动目录目录。但是,尽管弄清楚从一台服务器到另一台服务器的部署工作流程虽然复杂但可行,但从多个本地环境(即多个开发人员)到开发人员(或彼此之间)的建议工作流程是什么?可能的问题是每个团队成员会共享相同或相似的环境,那么如何改变一个队友的机器?


3
对使用迁移模块创建的节点禁用pathauto
我使用迁移导入一堆节点,我希望在迁移过程中设置的路径别名。我可以像这样导入路径别名: $this->addFieldMapping('path', 'url_alias'); 当我查看导入的节点时,我在path字段中看到了正确的路径,但是Generate automatic URL alias仍选中了该复选框,这意味着该设置将被忽略。 迁移期间如何在节点上禁用该设置?


2
使用集成了Views 3的Drupal 7导入大型平面文件数据源
我的目标是使用Drupal 7 产生一种快速,可靠和自动化的方法,以访问包含在多个非常大的平面文件数据源(CSV,固定宽度和XML文档)中的只读数据,可以使用Views 3来查询该数据。模块。我希望使用已经可用的模块,但是构建自定义模块也是一种选择。 为了帮助排除不适合该任务的模块和方法,以下是我正在使用的文件的统计信息: 每年导入:850万行CSV文件。(每年清除和重新加载。具有主键。) 每周导入:350,000行固定宽度的文件。(每周清除和重新加载。无主键。) 每小时导入:3,400行CSV文件。(希望尽可能频繁地更新和同步,但不超过每20分钟一次。具有主键) 每日导入:200个项目的XML文件。(每天清除并重新加载。具有主键) 三种格式之间的转换不是问题,如果可以提高导入性能或允许使用更好的工具,则可以进行转换。(将AWK用于将固定宽度转换为CSV等)。通过cron和sh脚本可以很容易地进行检索和转换自动化,但是仍然需要使Drupal 7集成自动化。只要vews可以使用关系引用数据,也可以使用自定义表。 用Drupal 7完成此类数据集成的最佳实践是什么?另外,我是否遗漏了有关数据或要完成的工作的任何重要细节? 这是我目前正在寻找一些解决方案的项目。我想对此进行扩展,以帮助其他人决定在处理较大数据导入时应采取的路线。 将数据导入节点: 供稿(当前D7为Alpha) Feed将可靠地导入数据。对于较小的数据源,速度是合理的,但对于300k +的表来说速度太慢。 可使用cron和Job Scheduler(当前为D7 使用Alpha)进行自动化。 迁移 源数据中没有可用的索引或唯一键,这使得此操作难以使用。它比提要快,但导入非常大的表仍然很慢。 可以通过drush和cron实现自动化。 自定义表而不是节点 数据模块(当前为D7为Alpha) 该数据模块看起来非常有前途,但对于D7非常错误的时刻。使用数据很容易满足自动化和导入速度的要求,但是缺乏可靠性。该意见整合(链接是D6)看起来非常有前途。 表格向导(不适用于D7) 添加此以供参考。目前没有D7候选者,但可以用作自定义模块的起点。 视图架构(已废弃,仅D6) 添加此以供参考。这似乎已经被Drupal 6中的Table Wizard吸收了。再次添加,仅供参考。 进口商(D2的RC2) 似乎需要使用表向导(仅D6)进行View集成。已添加以供参考,但不符合“视图”要求。 @MPD-添加了“自定义表”作为可能的解决方案,并扩展了模块。谢谢您的补充。

3
可以迁移内容类型吗?
我有一个具有40种内容类型的Drupal 7网站。当Drupal 8发布时,我想迁移这些内容类型。 这是可能的,还是我必须从头开始创建此内容类型?
12 8  migration  upgrading 

3
使用迁移模块移动多语言内容
我只有一个MySQL表,每一行都有混合的英语/法语内容。我试图弄清楚如何将其迁移到正确的i18n配置的Drupal站点中。 我可以让Migrate将内容导入一种语言,但是我希望将其导入两种语言。有901行,因此它最终应创建1802个链接的节点。 我只是不知道如何设置Migrate模块以两次循环并链接节点。 编辑:我用这个并且能够合并两个: public function postImport() { parent::postImport(); // $ii should really be determined by $count_query $ii = 2000; for ($i = 1; $i < $ii; $i++) { // Confirm SQL in phpMyAdmin to verify $query = "SELECT n.nid, tid.field_bv_transfer_id_value FROM {field_revision_field_bv_transfer_id} tid INNER JOIN node n ON tid.entity_id …



4
如何将文件实体迁移到媒体实体?
我正在使用Migrate模块进行从D7到D8的迁移,并且正在用代码手动编写整个迁移(而不是使用内置的D7迁移模块,因为我想对迁移进行更多的粒度控制。) 我具有以下结构:D7站点有一个image字段,其中图像存储为File实体。在D8站点上,图像字段是对媒体实体的实体引用(媒体实体又具有图像字段)。 最初,我的图像迁移有以下几点: id: image_files source: plugin: legacy_images constants: source_base_path: http://example.com/ destination: plugin: 'entity:file' process: fid: fid filename: filename source_full_path: - plugin: concat delimiter: / source: - constants/source_base_path - uri - plugin: urlencode uri: plugin: file_copy source: - '@source_full_path' - uri filemime: filemime status: status 在我的文章节点迁移文件中,我具有以下内容: 'field_article_image/target_id': plugin: migration migration: …
10 8  migration 

8
如何在Drupal 8迁移模块中刷新新的迁移?
在编写Drupal 8迁移过程时,如果我重新安装自定义迁移模块,则只能刷新新的迁移过程。Drush cr不起作用。 说明: 我有一个模块,即:cm_migrations,其中有2个迁移: cm_users cm_tags 随着drush ms我看到: Group: beer Status Total Imported Unprocessed Last imported cm_users Idle 3 3 0 2016-02-09 16:56:25 cm_tags Idle 4 0 4 我编写了一个新的迁移过程: cm_beers 我执行了,drush cr; drush ms并且看到了与以前相同的表。 仅当我卸载并安装时,cm_migrations我才能看到三个迁移过程: Group: beer Status Total Imported Unprocessed Last imported cm_users Idle 3 3 0 2016-02-09 …
10 migration 

3
如何使用node_save创建节点?
我正在尝试将当前的html网站迁移到Drupal。我必须迁移超过80,000页,因此我想创建一个模块,而不是坐在计算机前50年。我能够创建一个从每个目录提取html的脚本,现在我到达了需要创建节点的路障。我正在尝试使用创建一个新节点node_save(),但是当执行node_save时,PDOException我尝试的所有内容都会出现错误。我传入$node,这是一个数组,然后将其转换为对象。 PDOException:在field_sql_storage_field_storage_write()中(/srv/www/htdocs/modules/field/modules/field_sql_storage/field_sql_storage.module的第424行)。 这是我们当前创建节点的方式,但是会产生错误: $node= array( 'uid' => $user->uid, 'name' => $user->name, 'type' => 'page', 'language' => LANGUAGE_NONE, 'title' => $html['title'], 'status' => 1, 'promote' => 0, 'sticky' => 0, 'created' => (int)REQUEST_TIME, 'revision' => 0, 'comment' => '1', 'menu' => array( 'enabled' => 0, 'mlid' => 0, 'module' => 'menu', …
9 7  nodes  migration 

5
“源数据库不包含可识别的Drupal版本。”
我在本地Ubuntu桌面15.10 Apache2(2.4.12)环境中安装了两个Drupal站点:一个是Drupal 8的全新安装,第二个是使用Drupal 7构建的现有工作站点的副本(主要是核心模块)基于网页,非常不起眼)。两个站点在任何地方都可以正常工作,没有任何问题。 我的目标是首先将Drupal 7站点升级到Drupal8。我完成了所有初步阶段,例如配置相同的语言,通过模块保持最少的数量(卸载D7站点中的所有模块,这些模块我可以在升级后轻松带回) ),确保在两个站点中都安装了相同的模块,等等,现在我只想将我的Drupal 7站点“超越”(希望它有一个好的用语)到新的Drupal 8站点中。 为了实现我的目标,我在Drupal 8站点中安装了Drupal升级模块,转到localhost / sitename / upgrade,并填写了Drupal 7站点的所有详细信息。 当我单击“查看升级”按钮时,出现错误: 源数据库不包含可识别的Drupal版本。 我已将此错误搜索为确切的短语(“错误”),却发现很少的结果;在我看来,他们中的大多数人似乎都需要我已经获得的PHP编程知识,因此我无法确定错误是由于错误(尤其是由于该模块仍在繁重的开发中)还是由于我的错误造成的。了解此模块的概念\功能。 D8 Drupal升级模块不喜欢我提供的D7数据库的原因是什么?特别是当Drupal 7网站在网上和本地都可以正常工作时。 如果由于某种原因无法升级,迁移将是升级的一个不错的选择吗?如果是这样,那么您可以想到的最佳,最简单的迁移解决方案是什么? 我去了/var/www/html/benia/modules/migrate_upgrade/src/MigrationCreationTrait.php,并做了: -- return $version_string ? substr($version_string, 0, 1) : FALSE; ++ return 7; ++ return $version_string ? substr($version_string, 0, 1) : FALSE; 比在屏幕顶部出现此错误。
9 8  migration 

2
迁移失败:on子句不明确
我是migrate第一次使用该模块,并且已经使用过db_selectapi了一点,但遇到了错误。 我正在尝试将一些旧标签转换为drupal分类法。当我浏览该/admin/content/migrate页面时,它会正确执行查询并显示应迁移的正确行数。但是,当我实际尝试运行导入时,出现此错误: 迁移因源插件异常而失败:SQLSTATE [23000]:违反完整性约束:1052 on子句中的列'labelId'不明确 这是我在LabelMigration类中拥有的代码: $this->map = new MigrateSQLMap($this->machineName, array( 'labelId' => array('type' => 'int', 'not null' => TRUE) ), MigrateDestinationTerm::getKeySchema() ); $query = db_select('migrate_account_label', 'l') ->fields('l', array('labelId', 'label')) ; $query->leftJoin('migrate_asset_labels_membership', 'lm', 'l.labelId = lm.labelId'); $query->leftJoin('migrate_asset', 'a', 'lm.assetId = a.assetId'); $query->addExpression('count(*)', 'num'); $query->condition('a.type', 'B'); $query->groupBy('l.labelId'); $query->groupBy('l.label'); $this->source = new …
9 7  database  migration 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.