Video by via Dailymotion Source 24 Oras is GMA Network’s flagship newscast, anchored by Mel Tiangco, Vicky Morales and Emil Sumangil. It airs on GMA-7 Mondays to Fridays at 6:30 PM (PHL Time) and on weekends at 5:30 PM. For more videos from 24 Oras, visit http://www.gmanews.tv/24oras. #GMAIntegratedNews #KapusoStream Breaking news and stories from the…
The Best Dating App For Women
Video by via Dailymotion Source Hi, I’m Amy North. As someone who has been studying love and relationships for years, I’m keenly aware of how dating apps have completely changed certain aspects of dating forever. There are some huge benefits to online dating including the ability to reach a wider group of people, but it…
Brits need to be extra vigilant for festive fraudsters – as ‘purchase scams’ peak at the back end…
Video by via Dailymotion Source Brits need to be extra vigilant for festive fraudsters – as ‘purchase scams’ peak at the back end of the year, a bank has warned. Data, from NatWest, shows in the last four months of 2022, these cons – where scammers sell non-existent products at discounted prices to attract buyers…
عمران خان کیلئے سیکورٹی ایشو اور نواز شریف کیلئے پروٹوکول | Despite the order of the High Court…
ہائی کورٹ کے حکم کے باوجود جیل سپرنٹنڈنٹ کا عمران خان کو کھلی عدالت میں پیش کرنے سے معذرت ۔ عمران خان کی بہن علیمہ خان نے کھری کھری سنا دی ۔ نواز شریف کے لئے وی آئی پی پروٹوکول جبکہ عمران خان کی سیکورٹی سے معذرت ۔ یہ نہیں چلے گال ۔
#Politics
#PoliticalNews
#Election2023
#Policy
#Government
#PoliticalAnalysis
#Democracy
#PoliticalDebate
#CampaignTrail
#WorldPolitics
#TVNewsUpdates
#TelevisionNews
#BroadcastHeadlines
#LiveNewsFeed
#NewsChannelCoverage
#PakistanNewsUpdate
#LatestPakistanNews
#BreakingNewsPakistan
#PKNewsAlert
#PakistanHeadlines
#NewsUpdate
#LatestNews
#BreakingNews
#Headlines
#NewsAlert
#PakistanNews
#PKUpdates
#BreakingNewsPK
#PakistanHeadlines
#CurrentAffairsPK
#nurseryrhymes #nurseryrhyme #englishlettersounds #phonicslettersounds #lettersoundsandphonics #lettersounds #lettere #letters #englishalphabet #alphabetphonics #phonicsalphabet #misspatty #phonicsforbabies #rhymes #letter #alphabetsong #alphabetsongsforchildren #alphabets #signlanguageforbabies #englishvarnamala #kidssongs #aslalphabet #kindergarten #phonicsforchildren #phonicssongforkindergarten #americansign#language
#imrankhan #imranriazkhan #pti #ik
#publicnews #breakingnews #NBCNEWS #todaynews #pakistannews #viralvideo #socialmedia
#Tandoor #Order #Roolay #Sketchbook #SSD #SAJJAD #SALEEM #USMAN #RAFIQUE ##HORROR #PERANORMAL #AYESHA #NADEEM #NANI #WALA #LAHORI #PRANK #KHAN #ALI #PRANKS #JAMSHOKAT #FUN #FUNNY #OLD #IS #GOLD #SONG #SONGS #CARTOON #TOM #& #JERRY #CATS ##EXPRESS #NEWS #ARYNEWS #LAHORE #PUCHTA #HAI #WOHKYAHAI #WOHKYAHOGA #WOHKYATHA #KUCHTOHAI ##SHAHRRYVLOG #CHANDVLOG #ASADVLOG #SAMANEWS #PAKISTAN #INDIA #CRICKET #BICKES #SAJJADJANIOFFICAL #SUNNYARIA #THELKAPRNAKS #LAHORIPRNAKS #NEWTELENT
Specbee: Handling Custom Drupal Migrations Using SqlBase
In this article, we’ll take you through the different Drupal migration methods and especially focus on custom migrations using the SqlBase source plugin. Take a look!
In Technical Terms, What is a Drupal Migration?
Drupal migration is the process of moving content, data, and configuration from another CMS (or an older version of Drupal) to Drupal. A migration consists of several steps: Extract, Transform, and Load (ETL). In the Drupal world, we refer to these as source plugins, process plugins, and destination plugins. The Extract phase is known as the source, Transform is the process, and Load is the destination.
Drupal Migration Methods
When migrating your website from Drupal 7 to Drupal 9 or a later version, there are primarily two migration methods available.
Migration UI
Drush (Custom migration)
Migration UI
When you want to migrate your entire web application, including all configurations and content, to a later version, you can use Migration UI. It’s a straightforward option that doesn’t require in-depth knowledge of Drupal APIs. This approach can be used where your site is not too complex in terms of site architecture and considering all the modules used in Drupal 7 are also available in the target version (Drupal 9 or Drupal 10).
Custom Migration
When you are rewriting your website with a more modern and performance-centric approach which leads to significant changes in the architecture of your new website from Drupal 9, Migration UI literally won’t work. In such cases, you’ll need to roll up your sleeves and build custom migration scripts.
Migration Process
Let’s dig deeper into the migration process. It comprises of 3 major processes.
Source plugin (Extract)
Process plugin (Transform)
Destination plugin (Load)
Source Plugin
Source plugins handle the extraction of data from various sources, which can be in different formats, including raw data, databases, and CSV/XML/JSON files. They extract data from these sources and pass it on to the next phase in the migration process.
Process Plugin
The process plugin works on the source data, restructuring it to match the destination process. It transforms the data into an array, where each key corresponds to a destination property. The values assigned to each key determine how the destination values for your new website are generated.
More details can be found here.
Destination plugin
The destination plugin processes the structured data and saves it on your website. The most common destination plugins are node, term, user, and media.
You likely have a grasp of the migration process. Now, let’s delve deeper into source plugins, with a specific focus on the SqlBase source plugin.
Thinking of migrating your Drupal 7 website to Drupal 10? Get your Drupal 7 Site Audit report for Free!
Using SqlBase for the Drupal Migration
What is SqlBase migration?
SqlBase migration is straightforward—it allows you the flexibility to create your custom SQL queries to obtain the desired output. Other than that, it follows the same principles as other Drupal migration methods.
Why should you use SqlBase Migration?
When your site has a straightforward field structure, content types, etc., Drupal core migration can handle it. However, challenges arise with obsolete field types in Drupal 9 or when restructuring an old website with various content types. If you aim for an editor-friendly and performance-oriented site, a simple migration won’t suffice. You’ll need to prepare your source data and take the SqlBase migration route.
In another scenario, if your current site, built on a platform other than Drupal, provides data in the form of a database, SqlBase migration is also the way to go.
Benefits of leveraging SqlBase Migration
Since this is SqlBase, the speed of your migration relies entirely on how well you craft your database queries. The better your query preparation, the faster the migration will run.
It doesn’t rely on many core migration processes; you have the flexibility to shape and process your data as you see fit.
The SqlBase Source Plugin must implement these three methods:
query(): Returns the SQL query that selects the data from the source database.
fields(): Returns available fields on the source.
getIds(): Defines the source fields uniquely identifying a source row
Let’s get into the details of what these functions should contain:
query() function
/**
* {@inheritdoc}
*/
public function query() {
$query = $this->select(‘job_details’, ‘c’)
->fields(‘c’, array(
‘id’,
‘title’,
‘description’,o
‘position’,
‘company’,
‘criteria’,
));
return $query;
}fields() function
/**
* {@inheritdoc}
*/
public function fields() {
$fields = array(
‘id’= $this->t(‘Autoincrement ID’),
‘title’ = $this->t(‘Job Title’),
‘description’ = $this->t(‘Job Description’),
‘position’ = $this->t(‘Job Position’),
‘company’.= $this->t(‘Company’),
‘criteria’ = $this-»t(‘Job Criteria’),
);
return $fields;
}getIds() function
/**
* {@inheritdoc}
*/
public function getIds() {
return [
‘id’ => [
‘type’ => ‘integer’,
‘alias’=>’j’
];
}Additionally, you can tweak your SQL result by using the prepareRow() function and even add new source properties to your migration.
/**
* {@inheritdoc}
*/
public function prepareRow(Row $row) {
$company = $row->getSourceProperty(‘company’);
$row->setSourceProperty(‘job_type’, ‘on-site’);
if ($company == ‘specbee’) {
$row->setSourceProperty(‘job_type’, ‘remote’);
}
return parent::prepareRow($row);
}These source properties will be sent to your migration yml files and you can also use your own processor if you want any additional processing on your source data.
Referenceshttps://www.drupal.org/project/usage/3398311
Final Thoughts
With Drupal 9’s EOL, the impending farewell to Drupal 7, and the rise of Drupal 10, the need for seamless transitions has never been more pressing. As Drupal evolves, our Drupal Development Company recognizes SqlBase as an essential tool for a seamless and efficient migration process. Offering the flexibility to shape personalized SQL queries, it plays a vital role in crafting tailored data transitions. If you’re looking for a reliable Drupal migration partner, we’re just a form away!