BİLGİ SAYAMIYORUM beta

Ruby on Rails da bir veritabanı (database) nasıl sıfırlanır, tekrar yüklenir ya da taşındığı yerde şema ile nasıl oluşturulur?

0

Veritabanı işi Rails da daha önceden SQL den gelenler için biraz şaşırtıcı olabilir. Bana ilk kullandığımda öyle gelmişti, aslında şimdi düşününce veritabanı üstüne script çalıştırmaktan bir farkı yok migrate yapmanın ama hepsini tek bir yerde, site kodlarını yazdığımız yerde yapıp terminalden bak değişikliklerim bunlar deme süreci sanırım biraz farklıydı. Çünkü Rails da tam olarak yaptığınız bu, bir veritabanı oluşturduktan ve içini doldurduktan sonra, tablolarda bir değişiklik yapmanız gerktiği zaman, genel düzeni fazla bozmaycak şekilde bir migration (yer değiştime yapısı) oluşturup sonra onu Ruby abi, kabul edersen şöyle bi güncellememiz var filan diyorsunuz. 

Belki süreç dahilinde bir şeyler ters gitti ve içerikler yeni ayarlanıza hiç uymuyor. Bu biraz sıkıntılı bir durum olsa da test sırasında sıklıkla olabilecek bir şey (: içerik istediğiniz tablo kolon yapısına uymuyor ve tüm içeriği silip, yaptığınız migration lara göre yeni veritabanı oluşturmak istiyorsunuz. Yapabileceğiniz şey şu:

rake db:drop db:create db:migrate db:seed

Bu veritabanını siler, yeni bir tane oluşturur ve tüm migration (yer değiştirme yapısı) ları uygular. Ancak migration ları tek tek uygulamadan, veritabanını "schema.rb" dosyasında gözüktüğü gibi tekrar oluşturmak istiyorsanız alttaki iki satır da ayrı ayru bunu yapabilir:

rake db:schema:load
rake db:reset

Unutmayın veritabanı silme işlemleri sırasında ona bağlı aktif bir bağlantı olmaması gerekiyor. Veritabanı üzerinde yapabileceğiniz işlemleri çoğu şunlar, buradaki "ortam" diye bahsettiğim şey terminal üzerinde çalışırken muhtemelen kullandığınız env adında olan ortamdır:

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER