Gå videre til hovedindholdet

Creating your own WordPress plugin database migration framework

How to create a database migration framework for WordPress that automatically migrates changes to your plugin database structure.
So, how do you migrate changes to your database structure from one version to another (like you may know it from Ruby on Rails) when you are writing a WordPress plugin? Here’s one way to do it.
Let’s assume that the database migration should take place when the plugin is activated. Assuming your plugin is named myplugin, put this code in the myplugin.php file:
register_activation_hook(__FILE__'myplugin_install');
This makes WordPress execute the myplugin_install() method when the user activates your plugin.
Next, add this method:
function myplugin_install() {
  myplugin_migrate();
}
And our migration method:
function myplugin_migrate() {
  global $wpdb;
  $migs = myplugin_migrations();
  $current_migration = get_option('myplugin_current_migration', 0);
  $needed_migration count($migs);
  for ($i $current_migration$i $needed_migration$i++) {
    $mig $migs[$i];
    $wpdb->query($mig);
  }
  if ($current_migration == 0) {
    add_option('myplugin_current_migration'$needed_migration);
  else {
    update_option('myplugin_current_migration'$needed_migration);
  }
}
What this does is that it runs through database statements (queries) returned from the myplugin_migrations() method. Let’s implement the actual migrations – add this method:
function myplugin_migrations() {
  global $wpdb;
  $migs array();
  // Create example table
  $migs[] = '
  CREATE TABLE '.$wpdb->prefix.'myplugin_examples (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(255) NOT NULL,
    PRIMARY KEY (id)
  )';
  // Add examples
  $migs[] = "INSERT INTO ".$wpdb->prefix."myplugin_examples SET name='First example'";
  $migs[] = "INSERT INTO ".$wpdb->prefix."myplugin_examples SET name='Second example'";
  // Return the migrations
  return $migs;
}
That would create an example table and insert some values.
Now imagine that two months later you need a description field in your examples table. What do you do? It’s as easy as adding one line of code to the migrations:
// Add description field to examples
$migs[] = "ALTER TABLE ".$wpdb->prefix."myplugin_examples ADD description VARCHAR( 255 ) NOT NULL";
Deactivate and activate the plugin, and you table now has an extra field. Easy as cake! :)
Share your thoughts, opinions, and suggestions below.

Kommentarer

Populære indlæg fra denne blog

marketing og markedsføring på nettet

Vi er en virksomhed med kompetente folk med erfaring og viden om forskellige discipliner inden for marketing og markedsføring på nettet. Vores firma navn udtrykker, hvad der er vores primære fokus er, nemlig, markedsføring i søgemaskiner.

SEM står for Search Engine Marketing og vi kommer til at blive en bidragyder til dine markedsføringskroner generere flere indtægter (ROI), og det vil vi demonstrere for dig. Valget af den rigtige kanal på internettet er vigtig. Vi skal hjælpe dig med, samt til at sikre, at din markedsføring på internettet arbejder sammen med din øvrige markedsføring.

Du kan endda, med de enkle trin til at komme i gang med markedsføring i søgemaskiner. Men som i de fleste andre områder, kan resultatet blive langt bedre, hvis du bruger de professionelle. Vi tør sige, at vi er professionelle i området og kan hjælpe dig med at oprette, drive og overvåge din markedsføring på internettet. Gennem målinger dokumentere for dig, at du får relevante besøgende, hurtig ROI og øge…

Søgemaskineoptimering er en videnskab indenfor online markedsføring

Søgemaskineoptimering Søgemaskineoptimering er en moderne tidsalder internet markedsføring videnskab, historie succes for flere internetportaler for bred vifte af online-forretning. Men det egentlige spørgsmål: “Hvad er en endelig afgørelse marketing søgemaskineoptimering?” Det er et spørgsmål, der popper op i hovedet på hver eneste virksomhed ejer over hele kloden.

Før søgemaskineoptimering marketing, vil jeg tage dig gennem forskellige former for markedsføring almindelig i markedet. Markedsføring Offline – Tag som et eksempel pizza levering butik, hvor hver én markedsføringstilladelse, der skal gøres offline, og i dette tilfælde vil de blive rettet aviser, billboards, på tværs af vejen, populære radio-og tv til at fremme deres nye pizza produkt.
Marketing online og offline – Antag, at du er nødt til at rejse, websted og ønsker at bringe klienter. I dette tilfælde kan du vælge både online såvel som offline markedsføring kanal er nævnt i det foregående eksempel.
Marketing  Nogle virks…

SEO - Det hænger sådan sammen

Hvad er SEO?Den fulde form af SEO betyder Search Engine Optimization. Grundlæggende SEO er nævnt som fn-betalt, o, økologisk eller naturlig SEO. Search engine optimization kan proceduren for at forbedre synligheden af et websted eller en webside i en række forskellige søgemaskiner som Google, Yahoo, Bing og så videre. SEO indhold er bygget op omkring "Hvordan søgemaskiner arbejde". Hvad gjorde folk søger efter, vil de søgeord eller søgetermer, der blev opført i søgemaskiner, og hvordan søgemaskinerne reagerer på deres målrettede brugere former essensen af SEO arbejde. Med andre ord, at SEO er den procedure, for at forbedre rang af målrettet websted i søgemaskinens resultatsider (SERP).
Hvorfor har vi brug for SEO? En masse af web-brugere anvender søgemaskiner til at opdage noget eller lære et nyt koncept, der har været langt fra dem.Således søgemaskine er den simpleste værktøj bruges til at finde de tjenester, de har brug for. Med den store mængde af folk, der søger efter prod…