Drupal – Veritabanına Yeni Tablo Ekleme (Hook Update)

Drupal 8.9.x sürümünde denenmiştir. modulname_update_8900 bir kez çalışacaktır. Sonraki kullanımda modulname_update_8901… (+1) olarak güncellemeniz gerekmektedir.

<?php


function modulname_update_8900()
{
  
   $ozellikler = [
    'description' => 'Tabloya ait açıklama',
    'fields' => [
      'alan_1' => [
        'description' => 'alan_1 açıklama',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ],
      'alan_2' => [
        'description' => 'alan_2 açıklama',
        'type' => 'text',
        'not null' => TRUE,
      ],
    ],
    'primary key' => ['alan_1'],
  ]; 


  \Drupal::database()->schema()
    ->createTable('tablo_adi', $ozellikler);

}

Drupal – Veritabanı Tablosuna Yeni Alan Ekleme (Hook Update)

Drupal 8.9.x sürümünde denenmiştir. modulname_update_8900 bir kez çalışacaktır. Sonraki kullanımda modulname_update_8901… (+1) olarak güncellemeniz gerekmektedir.

<?php


function modulname_update_8900()
{
  $ozellikler = array(
    'type' => 'varchar',
    'description' => "Yeni alana ait açıklama",
    'length' => 20,
    'not null' => FALSE,
  );

  \Drupal::database()->schema()
    ->addField('tablo_adi', 'yeni_alan_adi', $ozellikler);

}