Node.JS

Sequelize Veritabanına Kayıt Ekleme

Herkese merhaba, NodeJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sequelize ile veritabanına kayıt eklemeyi anlatacağım. Hadi başlayalım !

Veri Ekleme

Veri ekleme işlemi, bir model için yeni bir kayıt oluşturmakla başlar. Model, veritabanındaki bir tabloyu temsil eder. Örneğin, bir users tablosu için bir User modeli oluşturabilirsiniz.

const User = sequelize.define('users', {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  name: {
    type: Sequelize.STRING,
    allowNull: false
  },
  email: {
    type: Sequelize.STRING,
    allowNull: false,
    unique: true
  },
  password: {
    type: Sequelize.STRING,
    allowNull: false
  },
  createdAt: Sequelize.DATE,
  updatedAt: Sequelize.DATE
});

Yukarıdaki örnekte, users tablosu için bir User modeli oluşturduk. Bu modelde, id, name, email, password, createdAt ve updatedAt sütunları belirtilmiştir. id sütunu, birincil anahtar olarak ayarlanmıştır ve otomatik olarak artan bir tamsayıdır. name, email ve password sütunları, metin dizisi olarak tanımlanmıştır ve boş bırakılamazdır. email sütunu, benzersiz bir sütun olarak da belirlenmiştir. createdAt ve updatedAt sütunları, zaman damgası olarak tanımlanmıştır.

Veri eklemek için, create yöntemini kullanabilirsiniz.

User.create({
  name: 'John Doe',
  email: 'johndoe@example.com',
  password: '123456'
})
  .then(() => {
    console.log('Veri başarıyla eklendi.');
  })
  .catch((err) => {
    console.error('Veri eklenirken hata oluştu: ', err);
  });

Yukarıdaki kodda, User modelinde yeni bir kayıt oluşturuyoruz. create yöntemi, modelde belirtilen sütunlara uygun bir şekilde kayıt oluşturur. Kaydı oluşturduktan sonra, bir geri çağrım işlevi kullanarak işlem sonucunu kontrol edebilirsiniz. then bloğu, işlem başarılıysa çağrılırken catch bloğu, bir hata oluştuysa çağrılır.

Çoklu Veri Ekleme

Birden fazla veri eklemek istediğinizde, bulkCreate yöntemini kullanabilirsiniz.

User.bulkCreate([
  {
    name: 'John Doe',
    email: 'johndoe@example.com,
    password: '123456',
  },
  {
    name: 'Jane Doe',
    email: 'janedoe@example.com',
    password: 'abcdef'
  }
]).then(() => {
  console.log('Veriler başarıyla eklendi.');
}).catch((err) => {
  console.error('Veriler eklenirken hata oluştu: ', err);
});

Yukarıdaki örnekte, `bulkCreate` yöntemi kullanarak iki kayıt ekledik. Her kayıt bir nesne olarak belirtilir ve nesneler bir dizi içinde toplanır. Kayıtları oluşturduktan sonra, işlem sonucunu kontrol etmek için bir geri çağrım işlevi kullanabilirsiniz.

Promiseler Kullanarak Veri Ekleme

`create` veya `bulkCreate` yöntemleri, bir geri çağrım işlevi yerine bir promise döndürür. Bu nedenle, aynı işlemi aşağıdaki gibi promise zinciriyle de yazabilirsiniz.

User.create({
  name: 'John Doe',
  email: 'johndoe@example.com',
  password: '123456'
})
  .then(() => {
    return User.create({
      name: 'Jane Doe',
      email: 'janedoe@example.com',
      password: 'abcdef'
    });
  })
  .then(() => {
    console.log('Veriler başarıyla eklendi.');
  })
  .catch((err) => {
    console.error('Veriler eklenirken hata oluştu: ', err);
  });

Yukarıdaki örnekte, iki ayrı create yöntemi çağrısı birbirine zincirlenmiştir. Her bir yöntem, bir öncekinin tamamlanmasından sonra çağrılır. Bu şekilde, birden fazla işlemi birbiri ardına sıralamak mümkündür.

Sonuç

Bu makalede, Sequelize kullanarak veri ekleme işlemini nasıl gerçekleştireceğinizi öğrendiniz. create ve bulkCreate yöntemleriyle tek bir kayıt veya birden fazla kayıt ekleme işlemini gerçekleştirebilirsiniz. Ayrıca, Promiseleri kullanarak da veri ekleme işlemlerini zincirleyebilirsiniz. Bu bilgileri kullanarak, Sequelize ile veri ekleme işlemlerini kolayca gerçekleştirebilirsiniz.

Evet Sequelize ile kayıt ekleme işlemi bu şekilde yapılmakta. Tüm NodeJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu