A Practical Guide on how to work with Git log command and history
Introduction In this post, we will see ways to look at git history logs. For…
May 22, 2020
When I migrated all of my drupal-7 website to drupal-8, I wrote automation to import all my old nodes into new drupal-8. Drupal did not provide any best way to migrate all of my nodes. So, I wrote this automation.
In this post, I will describe how I exported all my nodes into JSON files. In another post, I will explain how I imported them, with their URL alias intact.
{% highlight php linenos %}
name; } return $txNames; } function getUser($uid) { $u = user_load($uid); return $u->mail; } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// // Execution starts from here $nid = 1905; $howMany = 100; $till = $nid + $howMany; $dir = '/var/www/html/sites/default/files/exports/nodes'; for ($i=$nid; $i < $till; $i++) { $nd = node_load($i); if (!isset($nd) || !isset($nd->nid)) { continue; } $nd->user = getUser($nd->uid); //switch node type switch($nd->type) { case 'add_drawings': $nd->field_drawing_tags = getTermNames($nd->field_drawing_tags); $nd->field_drawing_category = getTermNames($nd->field_drawing_category); $nd->field_drawing_software = getTermNames($nd->field_drawing_software); break; case 'article': $nd->field_tags = getTermNames($nd->field_tags); $nd->field_article_category = getTermNames($nd->field_article_category); break; case 'page': case 'youtube_videos': //nothing special break; case 'my_book_reference': $nd->field_book_category = getTermNames($nd->field_book_category); break; case 'my_toolbox_reference': $nd->field_tool_category = getTermNames($nd->field_tool_category); break; default: print "\nHow on earth this can be possible! Type: ".$nd->type."\n"; } $alias = drupal_get_path_alias('node/'.$i); $folder = $dir . '/' . $nd->type; if (!file_exists($folder)) { mkdir($folder, 0777, true); } $filepath = $folder . '/' . $nd->nid . '.json'; $nd->alias = $alias; $data = json_encode((array)$nd); //write writeFile($filepath, $data); print "Written nid: ".$nd->nid.', alias: '.$alias."\n"; //print $data."\n\n"; } {% endhighlight %} ## Explanation of code See the comment which says: *Execution starts from here*. Line no. 33 Note: I ran this code through the devel/PHP module. So, this has a small timeout value when running a PHP script. So, I'm running this with 100s of nodes at a time. So, that loop where I'm starting nid=1905, you can start it from *1* *Line no 37*, the directory where I want to save the JSON files. *Line no 45*, Fetching author of the node and saving user details in an attribute in JSON. *Line no 48*. A switch case on my content types. *Line no 50*, saving term name. As in new DB. The term id will not be the same, but my taxonomy term name was unique in a vocabulary. *Line no 77*, saving the alias of node. The rest of the code is pretty easy to understand.Introduction In this post, we will see ways to look at git history logs. For…
Introduction In this post, we will see Python 3.9.x patch for FIPS enabled…
If your youtube video looks like:https://www.youtube.com/watch?v=g0kFl7sBdDQ…
Introduction While this topic may applicable to all mysql/mariadb users who…
Introduction to problem This post is applicable for those who has already an SSL…
You have drupal 7 image from docker hub, and want to connect tomongo db via php…
Introduction In this post we will see following: How to schedule a job on cron…
Introduction There are some cases, where I need another git repository while…
Introduction In this post, we will see how to fetch multiple credentials and…
Introduction I have an automation script, that I want to run on different…
Introduction I had to write a CICD system for one of our project. I had to…
Introduction Java log4j has many ways to initialize and append the desired…