You are here

function url_redirect_update_8103 in Url Redirect 8

Same name and namespace in other branches
  1. 8.2 url_redirect.install \url_redirect_update_8103()

Migrate old redirect data.

File

./url_redirect.install, line 35

Code

function url_redirect_update_8103() {
  $db_connection = \Drupal::database();
  if ($db_connection
    ->schema()
    ->tableExists('url_redirect')) {
    $query = $db_connection
      ->select('url_redirect', 'ur');
    $query
      ->fields('ur');
    $all_data = $query
      ->execute()
      ->fetchAll();
    foreach ($all_data as $key => $data) {
      $values = array(
        'label' => 'Migrated Redirect',
        'id' => 'migrated_' . $key . '_' . time(),
        'path' => $data->path,
        'redirect_path' => $data->redirect_path,
        'roles' => Drupal\Component\Serialization\Json::decode($data->roles),
        'users' => Drupal\Component\Serialization\Json::decode($data->users),
        'status' => $data->status,
        'message' => $data->message,
        'checked_for' => $data->check_for,
      );
      $url_redirect_entity = \Drupal\url_redirect\Entity\UrlRedirect::create($values);
      $url_redirect_entity
        ->save();
    }

    // We can drop 'url_redirect' table once we confirm everything is migrated properly.
    // $db_connection->schema()->dropTable('url_redirect');
  }
}