Problem/Motivation

We need an upgrade path from D7 for the core Shortcut module.

Remaining Tasks

Write migrations, with tests, covering the following:

Committers, please note: #37 is the correct version of this patch.

CommentFileSizeAuthor
#60 interdiff.txt726 bytesbenjy
#60 2500513-60.patch37.14 KBbenjy
#57 interdiff.txt2.45 KBbenjy
#57 2500513-57.patch37.37 KBbenjy
#56 interdiff.txt8.85 KBbenjy
#56 2500513-56.patch35.2 KBbenjy
#52 interdiff.txt1.02 KBbenjy
#52 2500513-52.patch27.04 KBbenjy
#49 interdiff.txt2.27 KBbenjy
#49 2500513-49.patch26.29 KBbenjy
#48 interdiff-2500513-37-48.txt600 bytesphenaproxima
#48 2500513-48.patch24.66 KBphenaproxima
#37 2500513-shortcut-migration-37.patch24.66 KBsvendecabooter
#25 interdiff-2500513-23-25.txt16.17 KBphenaproxima
#25 2500513-25.patch24.65 KBphenaproxima
#23 2500513-shortcut_migration-23.patch25.88 KBsvendecabooter
#22 2500513-shortcut_migration-22.patch25.97 KBsvendecabooter
#21 2500513-shortcut_migration-21.patch21.39 KBsvendecabooter
#20 2500513-shortcut_migration-20.patch20.73 KBsvendecabooter
#16 2500513-shortcut_migration-16.patch19.91 KBsvendecabooter
#7 2500513-shortcut_migration-7.patch20.01 KBsvendecabooter
#6 2500513-shortcut_migration-6.patch10.85 KBsvendecabooter
#2 2500513-shortcut_migration-2.patch9.48 KBsvendecabooter
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

svendecabooter’s picture

Assigned: Unassigned » svendecabooter
svendecabooter’s picture

Here is a first attempt at creating the Shortcut migration.
What the patch does:

* Migrate D7 shortcut sets to D8 shortcut set entities.
* Migrate D7 shortcut menu links to D8 shortcut entities
* Migrate D7 shortcut_set_user associations to D8 shortcut_set_user

The following tasks defined by the op do not seem relevant:
* #2382985 - shortcut links are regular menu items in D7, but are a link field on the Shortcut entity in D8. So presumably the only followup in that issue is skip migration of the shortcut menus & menu items, since they are no longer relevant in D8.
* There are no variables defined by the D7 Shortcut module

Issues still existing with this patch:
* There should be a dependency on the d7_user migration, but as far as I can tell, this isn't in D8 core yet.
* D8 already provides a "default" shortcut set. We should probably write a special case where the D7 default ("shortcut_set_1") gets migrated to the D8 default set ("default"). Now the D8 default still exists, and the D7 default just becomes another migrated set.
* In Drupal\shortcut\Entity\ShortcutSet::postSave(), the shortcut links from the default set get cloned to any new shortcut set that is created. This behaviour has a result that each migrated shortcut set gets the default D8 shortcut links as well.
* In D7, shortcut links can be enabled / disabled in a shortcut set (via the menu system). In D8 this is no longer possible. In my patch we ignore the hidden shortcut links. To be determined if this is the right behaviour.
* There is no mapping for shortcut_set_users database entries. So no entries get added to {migrate_map_d7_shortcut_set_users}

What still needs to be done:
* Test this patch thoroughly and find solutions for the issues defined above
* Write tests

Any feedback welcome!

svendecabooter’s picture

Status: Active » Needs work
phenaproxima’s picture

There should be a dependency on the d7_user migration, but as far as I can tell, this isn't in D8 core yet.

Go ahead and declare the dependency in the migration; when the patch is ready we'll just postpone this issue on the user migration (if it needs to be postponed -- that one is not far from being ready for commit).

D8 already provides a "default" shortcut set. We should probably write a special case where the D7 default ("shortcut_set_1") gets migrated to the D8 default set ("default"). Now the D8 default still exists, and the D7 default just becomes another migrated set.

You can achieve this by directly assigning the shortcut set ID. The static_map plugin is your friend :)

phenaproxima’s picture

Issue tags: +Needs tests
svendecabooter’s picture

phenaproxima: thanks for the feedback.

I created a new version of this patch which fixes the following things:

  • D7 "shortcut-set-1" now gets migrated to "default" shortcut set in D8
  • Dependency on d7_user migration is now added, while awaiting this to be committed to core
  • The problem that each imported shortcut set also gets duplicated links from the D8 default set, is now also fixed by setting the syncing flag on the configuration entity. In that case the links don't get duplicated. Still need to figure out if this doesn't have any unwanted consequences though

Haven't written lots of D8 tests yet, but I'll dive into that soon.

svendecabooter’s picture

Status: Needs work » Needs review
Issue tags: -Needs tests
FileSize
20.01 KB

Here is an updated patch that includes tests for the migrated tables and data.
This patch requires the d7_user migration, and so depends on #2414651: Migration Files for Drupal 7 Users being committed.
With the patch in https://www.drupal.org/node/2414651#comment-10262703 applied, all tests run fine locally.
So testbot will probably fail for now...

Status: Needs review » Needs work

The last submitted patch, 7: 2500513-shortcut_migration-7.patch, failed testing.

svendecabooter’s picture

phenaproxima’s picture

Status: Needs work » Postponed
phenaproxima’s picture

Status: Postponed » Active

Unblocked!

Status: Active » Needs review
svendecabooter’s picture

yay now it passes :)

phenaproxima’s picture

Issue tags: +Needs tests

WOW! Terrific work @svendecabooter! Very thorough, clear, and easy to follow. I have some changes and fixes to request, but otherwise this is first-class work.

  1. +++ b/core/modules/shortcut/migration_templates/d7_shortcut.yml
    @@ -0,0 +1,31 @@
    +  shortcut_set:
    +    -
    +      plugin: static_map
    +      bypass: true
    +      source: menu_name
    +      map:
    +        shortcut-set-1: default
    +    -
    +      plugin: machine_name
    +      field: shortcut_set
    

    It's preferable here to use the migration process plugin (because having a process plugin named "migration" isn't confusing at all!) to get the ID of the previously migrated shortcut set. Documentation on the migration plugin may be found at https://www.drupal.org/node/2149801

  2. +++ b/core/modules/shortcut/migration_templates/d7_shortcut.yml
    @@ -0,0 +1,31 @@
    \ No newline at end of file
    

    Whoops :) Please add a blank line at the end of the file to satisfy the git gods.

  3. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set_users.yml
    @@ -0,0 +1,24 @@
    +  uid: uid
    

    This should also use the migration process plugin to look up the uid from the d7_user migration.

  4. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set_users.yml
    @@ -0,0 +1,24 @@
    +  set_name:
    +    -
    +      plugin: static_map
    +      bypass: true
    +      source: set_name
    +      map:
    +        shortcut-set-1: default
    +    -
    +      plugin: machine_name
    +      field: set_name
    

    Same here.

  5. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,105 @@
    +class ShortcutSetUsers extends DestinationBase implements ContainerFactoryPluginInterface {
    +  /**
    

    Nit: please add a new line between the class declaration and the doc comment.

  6. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,105 @@
    +   * @param \Drupal\Core\Path\AliasStorage $alias_storage
    +   *   The alias storage service.
    

    This doc comment doesn't match the actual argument. :)

  7. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,105 @@
    +  /**
    +   * {@inheritdoc}
    +   */
    +  public function fields(MigrationInterface $migration = NULL) {
    +    return [
    +      'uid' => 'The users.uid for this set.',
    +      'source' => 'The shortcut_set.set_name that will be displayed for this user.',
    +    ];
    +  }
    

    IIRC, fields() doesn't apply to destinations, so this can be removed

  8. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,105 @@
    +    return TRUE;
    

    import() is supposed to return the ID of the saved entity (matching what's declared in getIds()), not a boolean. In this case it should return array($account->id()), and you don't need to check for $account. Because, if you use the migration process plugin to look up the uid (in the d7_shortcut_users migration), a MigrateSkipRowException will be thrown if the user cannot be found, which is an appropriate response in this case.

  9. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,105 @@
    \ No newline at end of file
    

    D'oh. Needs a new line.

  10. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/Shortcut.php
    @@ -0,0 +1,50 @@
    + * @MigrateSource(
    + *   id = "d7_shortcut"
    + * )
    

    Needs source_provider = "shortcut" in the annotation.

  11. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/Shortcut.php
    @@ -0,0 +1,50 @@
    +    $query = $this->select('menu_links', 'ml')
    +      ->fields('ml', array('mlid', 'menu_name', 'link_path', 'link_title', 'weight'))
    +      ->condition('hidden', '0')
    +      ->condition('menu_name', 'shortcut-set-%', 'LIKE');
    +    return $query;
    

    Nit: You can return $query directly, no need for a separate return statement.

  12. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/Shortcut.php
    @@ -0,0 +1,50 @@
    \ No newline at end of file
    

    Needs a new line.

  13. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSet.php
    @@ -0,0 +1,45 @@
    + * @MigrateSource(
    + *   id = "d7_shortcut_set"
    + * )
    

    Also needs source_provider = "shortcut" in the annotation.

  14. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSet.php
    @@ -0,0 +1,45 @@
    +    $query = $this->select('shortcut_set', 'ss')
    +      ->fields('ss', array('set_name', 'title'));
    +    return $query;
    

    Same nit: you don't need to return $query separately.

  15. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSet.php
    @@ -0,0 +1,45 @@
    \ No newline at end of file
    

    Needs a new line.

  16. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSetUsers.php
    @@ -0,0 +1,45 @@
    + * @MigrateSource(
    + *   id = "d7_shortcut_set_users"
    + * )
    

    Ditto on the source_provider annotation.

  17. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSetUsers.php
    @@ -0,0 +1,45 @@
    +    $query = $this->select('shortcut_set_users', 'ssu')
    +      ->fields('ssu', array('uid', 'set_name'));
    +    return $query;
    

    Ditto on the return $query nit.

  18. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSetUsers.php
    @@ -0,0 +1,45 @@
    \ No newline at end of file
    

    Ditto on the new line. I swear, I'll stop repeating myself now.

  19. +++ b/core/modules/shortcut/src/Tests/Migrate/d7/MigrateShortcutSetTest.php
    @@ -0,0 +1,58 @@
    +  public function testShortcutSetMigration() {
    

    This method looks a little light on assertions. I recommend asserting everything you can think of that the migration may have touched. The more assertions we have, the more bugs we will catch.

  20. +++ b/core/modules/shortcut/src/Tests/Migrate/d7/MigrateShortcutSetUsersTest.php
    @@ -0,0 +1,59 @@
    +    $shortcut_set = shortcut_current_displayed_set($account);
    

    If there is an OO way to do this, it's preferable. If not, no worries.

  21. One last thing: please add unit tests for the source plugins. There are many you can look at for reference -- for instance, take a look at core/modules/user/tests/src/Unit/Plugin/migrate/source/d7.
phenaproxima’s picture

Status: Needs review » Needs work

Changing status.

svendecabooter’s picture

I need some help with the 1st issue mentioned by phenaproxima.
I changed the process migration template to use the migration plugin - see updated patch in attachment.

But with only this change, now suddenly shortcut entities don't get migrated anymore.
I'm getting this in Drush:

llegal offset type EntityManager.php:533                                                                                                                    [warning]
Illegal offset type EntityManager.php:535                                                                                                                    [warning]
Illegal offset type in isset or empty EntityManager.php:517                                                                                                  [warning]
(repeated a few times)

Fatal error: Call to a member function getFieldStorageDefinition() on a non-object in drupal/core/lib/Drupal/Core/Entity/ContentEntityBase.php on line 1125

It seems the fields and entityKeys are not correctly set when trying to save the Shortcut entity suddenly, but I don't see any feedback as to why that's happening.
I've been debugging for over 2 hours, but can't wrap my head around what's going on exactly...

If anyone has some spare time to try to find the cause of this issue, that would be highly appreciated.

phenaproxima’s picture

Status: Needs work » Postponed

Postponing on #2382985: Migration Files for Drupal 7 Menu & Menu Entries. Shortcut sets and menu links are tightly coupled, so it makes sense to get this done once menu links are migrating OK.

phenaproxima’s picture

Status: Postponed » Needs work

Unblocked!

svendecabooter’s picture

The issue mentioned in #16 still seems to exist now that #2382985: Migration Files for Drupal 7 Menu & Menu Entries is in core.
Will have to investigate further what's going on.

svendecabooter’s picture

Here is an update of the patch with most of the comments by phenaproxima tackled.
Still need to look at 19 - 20 - 21. The rest should be fixed.

With regards to comment #7:
I get the following error when removing the fields() method. It seems the Interface requires this method anyway:

Fatal error: Class Drupal\shortcut\Plugin\migrate\destination\ShortcutSetUsers contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Drupal\migrate\Plugin\MigrateDestinationInterface::fields)

svendecabooter’s picture

Updated patch.

#19: I improved the assertions for the ShortcutSet test. Not a lot more I can think of to test, since each ShortcutSet entity only consists of an id and label, and fetches the Shortcut entities with the related id. Not a lot more to it. Shortcut-specific functionality is tested in ShortcutTest.php.

#20: ShortcutSetUsers is not (yet?) an object or entity. See #2446195. Seems there is not a lot of work being done on that, so I just used the function call that is being used by the shortcut module itself.

Only the unit tests left now. Will see if I can squeeze out some more time for that.

svendecabooter’s picture

Status: Needs work » Needs review
Issue tags: -Needs tests
FileSize
25.97 KB

Attached the patch with all comments by phenaproxima tackled.
Thanks for reviewing my patch!

svendecabooter’s picture

Need to remember those newlines... Updated patch with newlines at the end of the newly added Unit test files

phenaproxima’s picture

Status: Needs review » Needs work

Looks excellent. I have some changes I'd like to see, but I'll take care of these and we'll get this in soon.

  1. +++ b/core/modules/shortcut/migration_templates/d7_shortcut.yml
    @@ -0,0 +1,33 @@
    +label: Drupal 7 shortcut links
    

    We no longer include the "Drupal 6" and "Drupal 7" prefixes in migration labels, so this should just be "Shortcut links".

  2. +++ b/core/modules/shortcut/migration_templates/d7_shortcut.yml
    @@ -0,0 +1,33 @@
    +       source:
    +         - menu_name
    

    Nit: This can just be source: menu_name.

  3. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set.yml
    @@ -0,0 +1,20 @@
    +label: Drupal 7 shortcut sets
    

    Ditto the label fix here.

  4. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set.yml
    @@ -0,0 +1,20 @@
    +    -
    +      plugin: machine_name
    +      field: id
    

    This might not be necessary -- it looks like shortcut set IDs are already machine names.

  5. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set_users.yml
    @@ -0,0 +1,38 @@
    +label: Drupal 7 Shortcut set user mapping
    

    Ix-nay on the "Drupal 7".

  6. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set_users.yml
    @@ -0,0 +1,38 @@
    +      source:
    +        - uid
    

    Nit: Should be source: uid.

  7. +++ b/core/modules/shortcut/migration_templates/d7_shortcut_set_users.yml
    @@ -0,0 +1,38 @@
    +    -
    +      plugin: default_value
    +      default_value: [1]
    +    -
    +      plugin: extract
    +      field: uid
    +      index:
    +        - 0
    

    This stuff might not be entirely necessary, because the uid returned by the lookup in d7_user should be a single value, not an array.

    IMO, we should not assign a default value if the user lookup fails; in this case I think it's appropriate to simply skip the row.

  8. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,108 @@
    +  /**
    +   * Active database connection.
    +   *
    +   * @var \Drupal\Core\Database\Connection
    +   */
    +  protected $database;
    

    It's unclear why we're injecting the database as a dependency; it doesn't seem to be used for anything in the plugin...

  9. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/ShortcutSetUsers.php
    @@ -0,0 +1,108 @@
    +    return array($account->id());
    

    It seems to me that we'd want to return the ID as an array containing the set name and user ID (and alter the ids() method to match), since that's really what identifies the imported data, no?

  10. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSet.php
    @@ -0,0 +1,45 @@
    +    return $this->select('shortcut_set', 'ss')
    +      ->fields('ss', array('set_name', 'title'));
    

    Nit: Let's do fields('ss') instead of cherry-picking.

  11. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSetUsers.php
    @@ -0,0 +1,45 @@
    +    return $this->select('shortcut_set_users', 'ssu')
    +      ->fields('ssu', array('uid', 'set_name'));
    

    Ditto.

  12. +++ b/core/modules/shortcut/src/Plugin/migrate/source/d7/ShortcutSetUsers.php
    @@ -0,0 +1,45 @@
    +  public function getIds() {
    +    $ids['uid']['type'] = 'integer';
    +    return $ids;
    

    Let's identify the rows by set_name AND uid, rather than just uid.

  13. +++ b/core/modules/shortcut/src/Tests/Migrate/d7/MigrateShortcutSetTest.php
    @@ -0,0 +1,78 @@
    +  protected function assertEntity($shortcut_set, $id, $label) {
    

    It's preferable to pass the shortcut set ID and let assertEntity() load it and assert that it's a ShortcutSetInterface.

  14. +++ b/core/modules/shortcut/src/Tests/Migrate/d7/MigrateShortcutSetTest.php
    @@ -0,0 +1,78 @@
    +    $this->assertIdentical(count($shortcuts), 2);
    

    Let's not hard-code the number of expected shortcuts in the set -- pass that in as an argument to assertEntity().

  15. +++ b/core/modules/shortcut/src/Tests/Migrate/d7/MigrateShortcutTest.php
    @@ -0,0 +1,80 @@
    +  public function testShortcutMigration() {
    

    This method should probably use the assertEntity() pattern. (The purpose of which is for easier conversion to the data provider pattern that PHPUnit gives us, which we'll probably do in 8.1 or 8.2.)

  16. +++ b/core/modules/shortcut/tests/src/Unit/Plugin/migrate/source/d7/ShortcutSetTest.php
    @@ -0,0 +1,46 @@
    +    $this->databaseContents['shortcut_set'][] = array(
    +      'set_name' => 'shortcut-set-2',
    +      'title' => 'Alternative shortcut set',
    +    );
    

    I'd prefer if you assigned $this->databaseContents['shortcut_set'] = $this->expectedResults, rather than repeating the code.

  17. +++ b/core/modules/shortcut/tests/src/Unit/Plugin/migrate/source/d7/ShortcutSetUsersTest.php
    @@ -0,0 +1,46 @@
    +    $this->databaseContents['shortcut_set_users'][] = array(
    +      'uid' => '2',
    +      'set_name' => 'shortcut-set-2',
    +    );
    +
    

    Ditto here.

phenaproxima’s picture

Status: Needs work » Needs review
FileSize
24.65 KB
16.17 KB

Made the changes I asked for in #24. Let's give this a whirl...

Status: Needs review » Needs work

The last submitted patch, 25: 2500513-25.patch, failed testing.

phenaproxima queued 25: 2500513-25.patch for re-testing.

The last submitted patch, 25: 2500513-25.patch, failed testing.

phenaproxima queued 25: 2500513-25.patch for re-testing.

The last submitted patch, 25: 2500513-25.patch, failed testing.

phenaproxima’s picture

Status: Needs work » Needs review

QA is failing patch #25 for no apparent reason -- each time I re-queue it for testing, it fails an update-related test (this patch does not need or introduce any update-related code), for different, random reasons. On @tim.plunkett's advice, setting this issue to NR because DrupalCI passed it.

The last submitted patch, 16: 2500513-shortcut_migration-16.patch, failed testing.

The last submitted patch, 16: 2500513-shortcut_migration-16.patch, failed testing.

The last submitted patch, 21: 2500513-shortcut_migration-21.patch, failed testing.

phenaproxima queued 25: 2500513-25.patch for re-testing.

benjy’s picture

RTBC, two small things:

  1. +++ b/core/modules/shortcut/migration_templates/d7_shortcut.yml
    @@ -0,0 +1,26 @@
    +      - constants/uri_scheme
    

    I think we always put these in quotes for consistency because when using "@field" it breaks the PECL parser.

  2. +++ b/core/modules/shortcut/src/Plugin/migrate/destination/EntityShortcutSet.php
    @@ -0,0 +1,30 @@
    +    // Set the "syncing" flag to TRUE, to avoid duplication of default shortcut links
    

    80 chars.

svendecabooter’s picture

Status: Needs review » Needs work

The last submitted patch, 37: 2500513-shortcut-migration-37.patch, failed testing.

Status: Needs work » Needs review
phenaproxima’s picture

Status: Needs review » Reviewed & tested by the community

DrupalCI has passed patch #37 and @benjy reviewed on IRC this morning. Per #36, RTBC.

  • webchick committed 3360890 on 8.0.x
    Issue #2500513 by svendecabooter, phenaproxima: Upgrade path for...
webchick’s picture

Status: Reviewed & tested by the community » Fixed

Awesome stuff!!

Committed and pushed to 8.0.x. Thanks!

bzrudi71’s picture

Seems we broke PostgreSQL bot :( Please see:

https://www.drupal.org/pift-ci-job/34975

Follow up, or should we try to fix it right here?

phenaproxima’s picture

Let's have a quick-fix follow-up.

phenaproxima’s picture

Follow-up critical issue filed: #2570265: Migrate test failure on PostgreSQL

  • catch committed 85042d0 on 8.0.x
    Revert "Issue #2500513 by svendecabooter, phenaproxima: Upgrade path for...
catch’s picture

Status: Fixed » Needs work

Sorry I'm reverting this instead, this looks like just an ordering issue in the test, but I'd rather not have postgres broke while we review whether that's the case or not.

phenaproxima’s picture

benjy’s picture

So i refactored the idMap queries to apply the conditions using the key, although the key isn't always set which is why I didn't do it in lookupDestinationId() just yet. This is also an API change for anyone using these functions.

It's a shame #48 had different failures because it would have been nice to commit that as is with the re-order and then handle the ordering issues in a follow-up.

Status: Needs review » Needs work

The last submitted patch, 49: 2500513-49.patch, failed testing.

The last submitted patch, 49: 2500513-49.patch, failed testing.

benjy’s picture

Same approach added for delete. Not done here but deleteDestination() needs refactoring but may have the same issues as lookupDestinationId().

benjy’s picture

Assigned: svendecabooter » Unassigned

Not looked at the unit tests yet, it's expected they'll still fail.

Status: Needs review » Needs work

The last submitted patch, 52: 2500513-52.patch, failed testing.

The last submitted patch, 52: 2500513-52.patch, failed testing.

benjy’s picture

Status: Needs work » Needs review
FileSize
35.2 KB
8.85 KB

Fixed the delete and the other tests. Still more that I know need fixing but trying get get the Postgres tests to pass.

benjy’s picture

Getting closer, had to refactor lookupDestinationId() which is trickier because the migration process plugin doesn't have the source id keys currently.

Status: Needs review » Needs work

The last submitted patch, 57: 2500513-57.patch, failed testing.

The last submitted patch, 57: 2500513-57.patch, failed testing.

benjy’s picture

Status: Needs work » Needs review
FileSize
37.14 KB
726 bytes

I'm going to split this out into a new issue after this test run.

benjy’s picture

svendecabooter’s picture

Status: Postponed » Needs review

Unblocked

phenaproxima’s picture

Issue summary: View changes

#2571499: idMap source and destination id filtering requires keys has been committed and it fixes the root of the problem which caused this issue to break PostgreSQL. I have re-tested the original patch (#37) and it now passes PostgreSQL with flying colors -- and everything else, for that matter. Restoring RTBC.

Committers, note that #37 is RTBC!

phenaproxima’s picture

Status: Needs review » Reviewed & tested by the community

Er. Restoring RTBC.

webchick’s picture

Status: Reviewed & tested by the community » Fixed

Ok, let's try that again. :)

Committed and pushed to 8.0.x. Thanks!

Status: Fixed » Needs work

The last submitted patch, 60: 2500513-60.patch, failed testing.

webchick’s picture

Status: Needs work » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

Wim Leers’s picture