Skip to content
migrate_example.install 3.19 KiB
Newer Older

/**
 * @file
 * Set up the migration example module.
 */
Mike Ryan's avatar
Mike Ryan committed
require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'migrate_example') .
  '/beer.install.inc';
require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'migrate_example') .
  '/wine.install.inc';
Mike Ryan's avatar
Mike Ryan committed
function migrate_example_schema() {
  $schema = migrate_example_beer_schema();
  $schema += migrate_example_wine_schema();
  return $schema;
}

function migrate_example_install() {
Mike Ryan's avatar
Mike Ryan committed
  migrate_example_beer_install();
  // A simple format for testing migration of format
  $example_format = array(
    'name' => 'Migrate example format',
    'weight' => 20,
    'filters' => array(
      // Escape all HTML.
      'filter_html_escape' => array(
        'weight' => 0,
        'status' => 1,
      ),
    ),
  );
  $example_format = (object) $example_format;
  filter_format_save($example_format);
}

function migrate_example_uninstall() {
Mike Ryan's avatar
Mike Ryan committed
  migrate_example_beer_uninstall();
  migrate_example_wine_uninstall();
  if ($format = filter_format_load('migrate_example')) {
    filter_format_disable($format);
function migrate_example_disable() {
  migrate_example_beer_disable();
  migrate_example_wine_disable();
}

/**
 * Convert modificationdate datetime field to modificationdatetime int field.
 */
function migrate_example_update_7001() {
  $ret = array();
  db_add_field('migrate_example_beer_legacy_urls', 'modificationdatetime', array(
      'type' => 'int',
      'unsigned' => TRUE,
      'not null' => FALSE,
    )
  );

  $result = db_select('migrate_example_beer_legacy_urls', 'ms')
            ->fields('ms', array('machine_name', 'modificationdate'))
            ->execute();
  foreach ($result as $row) {
    $modificationdatetime = strtotime($row->modificationdate);
    db_update('migrate_example_beer_legacy_urls')
      ->fields(array('modificationdatetime' => $modificationdatetime))
      ->condition('machine_name', $row->machineName)
      ->execute();
  }

  db_drop_field('migrate_example_beer_legacy_urls', 'modificationdate');

  $ret[] = t('Converted modificationdate datetime field to modificationdatetime int field');
  return $ret;
}

/**
 * Add image alt/title/description columns.
 */
function migrate_example_update_7002() {
  $ret = array();
  db_add_field('migrate_example_beer_node', 'image_alt', array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
        'description' => 'Image ALT',
    )
  );
  db_add_field('migrate_example_beer_node', 'image_title', array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
        'description' => 'Image title',
    )
  );
  db_add_field('migrate_example_beer_node', 'image_description', array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
        'description' => 'Image description',
    )
  );
  db_update('migrate_example_beer_node')
    ->fields(array(
      'image_alt' => 'Heinekin alt',
      'image_title' => 'Heinekin title',
      'image_description' => 'Heinekin description',
    ))
    ->condition('bid', 99999999)
    ->execute();
  $ret[] = t('Added image_alt, image_title, and image_description fields.');
  return $ret;
}