Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I'm trying to get the content of a D5 into a D7
We don't need to get the files or the vocabularies for the moment. Just the nodes, not even their languages which can be mapped to 'en' by default.
I use the migrate_d2d wizard and all goes well until I try to import.
I got this message :
Migration failed with source plugin exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'n.language' in 'field list' in database.inc
I really don't know if it is caused by the fact that we have an internationalized D5. Any help would be appreciated.
Thanks
Comments
Comment #1
mikeryanI'm not seeing anything in the current code for D5 that would be referencing n.language, could you try the latest -dev or 7.x-2.1-rc1?
Thanks.
Comment #2
mikeryanI did happen to have a D5 database (5.0!) lying around and tried that with the current code, had no problem.
Comment #3
Marc Angles CreditAttribution: Marc Angles commentedI obtain the exact same error if I try with 7.x-2.1-rc1+5-dev (latest dev)
I'll try in a new installed D7 and let you know what happen.
Comment #4
mikeryanComment #5
Marc Angles CreditAttribution: Marc Angles commentedJuts tested in a new D7 installation.
Same error
Comment #6
mikeryanThere's not much I can tell you based on the information provided - if I can't reproduce it, I can't fix it.
What precisely does "we have an internationalized D5" mean? Added contrib modules to support translation? I don't recall how internationalization was done back in the D5 days...
Comment #7
mikeryanJust a thought, can you go to the detail page for your node migration and from the Source tab paste the query?
Thanks.
Comment #8
mikeryanOne more thing, in the migrate_group table can you look at the 'arguments' column for your migration and verify that the "source_version" value is "5" (i.e., make sure your site hasn't been mis-identified as D6 or D7)?
Comment #9
Marc Angles CreditAttribution: Marc Angles commentedI don't remember the details either.
Module i18n, i18nmenu, locale, translation are installed.
I can see a "language" column in these tables (from the D5 source DB) :
* i18n_node
* i18n_variable
* menu
* term_data
* users
* vocabulary
Comment #10
Marc Angles CreditAttribution: Marc Angles commentedThe site is recognized as D7
My bad, I restored the DB inside a D7 environment for several technical reasons. Basically I could not restore a D5 on my aegir machine...
Now It is working.
What I did is patching the migrate_d2d_ui/migrate_d2d_ui.migrate.inc file at line 269 and made it:
$this->sourceVersion = '5';
in the 3 cases.Forcing to recognize my source as D5.
Hope this is usefull for future D5 migration to recent versions.
BTW this could transform this issue in a Feature request "Force Migrate D2D to recognize version of source drupal"
Thank you for your help.
Comment #11
mikeryanWell, it is working to recognize the source version, if you have mixed two sites in one database then it is not going to have any way to know which one you mean to import. It happens to check for D7 first, then D6, then D5, which is how it ended up assuming D7 in your case.
I've added a note to the documentation warning about mixing versions in your database.