18
Ara

Django da oluşturduğunuz bir uygulamada Modelinizi yazdınız ve syncdb parametresi ile veritabanı tablolarını oluşturdunuz. Daha sonra model sınıfınızda tablo yapısını etkileyecek düzenlemeler yaptınız ve tekrar syncdb ile tablonuzu oluşturmaya çalıştınız. Bir baktınız ki tablo da bir değişiklik yok, olduğu gibi duruyor. Bu Django’nun zayıf yanı oluyor ve güncel veritabanı tablonuzu oluşturmak için önceki tabloyu silmeniz gerekiyor. Ayrıca tablonuzun varolan sütunlarını etkilemeyen bir düzenleme varsa; bu değişiklik yeni sütun ekleme gibi bir şeyse ve tablonuz da ki mevcut veriler yerinde dursun diyorsanız Django’dan bunu şimdilik beklemeyin. Belki ileride bu özelliği eklerler…

Yukarıdaki gibi bir durum ile karşı karşıyaysanız South modülünü kullanmak durumundasınız. Öncelikle South modülünü kuralım: Bu modülü kurmanız için; ya buradan istediğiniz sürümü indirip kuracaksınız, ya setuptools modülü kuruluysa

easy_install South

komutuyla kuracaksınız, ya da easy_install ile pip modülünü kurup

pip install South

komutuyla modülü kurabilirsiniz.

South modülünü kurduysanız bir Django projesi oluşturup, uygulama oluşturalım…

django-admin.py startproject southdenemesi
cd southdenemesi
python manage.py startapp blog

southdenemesi adında bir proje oluşturduk. Sonra bu proje dizinine girip blog adında bir uygulama oluşturduk. blog dizinine girip models.py dosyasını metin düzenleyici ile açıp basit olarak şunu yazalım:

from django.db import models

class Post(models.Model):
	title = models.CharField(max_length=255)
	content = models.TextField()

Sonra proje dizinine dönüp settings.py dosyasını metin düzenleyicisi ile açalım.

INSTALLED_APPS = (
    # ...
    'south',
    'blog',
    # ...
)

Veritabanı ayarınızı yaptıktan sonra south ile birlikte blog uygulamamızı projemize ekliyoruz ve dizin içerisinde konsolu açıp tablolarımızı oluşturuyoruz.

python manage.py syncdb

Ardından

python manage.py convert_to_south blog

ile uygulamamızı south modülü için ilklendiriyoruz. Sonra models.py dosyamızı şu şekilde değiştiriyoruz.

from django.db import models

class Post(models.Model):
	title = models.CharField(max_length=255)
	content = models.TextField()
	pub_date = models.DateTimeField(auto_now_add=True)

Modelimizdeki değişikliği southa bildiriyoruz.

python manage.py schemamigration blog --auto

Bu komutu verince bize iki seçenek sunacaktır. “2″ yazıp devam ettiğimizde bize sütunun boş bırakılamayacağı için tarih bilgisi girmemizi istiyor(Eğer veri varsa her satır için aynı tarih verisi işleniyor sanırım). Bunu da

datetime.datetime.now()

kodunu yazarak hallediyoruz ve migration yani göç dosyamız, blog uygulamamızın içinde oluşturulan migrations dizininde 0002 ile başlayan bir Python dosyası olmuş oluyor. Oluşturulan göç dosyasını uygulamak için

python manage.py migrate blog

komutunu veriyoruz ve yeni tablo sütunu tablomuzdaki yerini alıyor. Eğer south uygulamasını projeye ekleyip syncdb ile tablosunu oluşturduktan sonra bir uygulama eklerseniz ilklendirmek için

python manage.py schemamigration uygulama --initial

işlemek için de

python manage.py migrate uygulama

komutunu veriyoruz. Daha sonraki düzenlemeleri yukarıdaki gibi –auto parametresi ile işleyebilirsiniz… Benim bilgim bu kadar. Daha fazla bilgi için buraya bakabilirsiniz. Hatam varsa bildiriniz.

Bu yazı Creative Commons-BY-SA ile lisanslanmıştır. Bu yazıyı ilk sahibini belirtmek ve aynı lisansla dağıtmak koşuluyla kullanabilirsiniz.

Benzer Yazılar:

  1. Django ile Çevirimiçi Ziyaretçi Sayacı Yapımı
25
Ağu

Uzun zaman önce, Linux’a göç ile ilgili belge araştırırken bulduğum bir kaynağı paylaşmak istiyorum.

     Evet üzerinden beş yıl geçmiş ancak içerisindeki bazı bilgi ve yöntemler hala geçerliliğini koruyor. Göç etmek isteyen kurum ve kişilere yol göstereceğini düşünüyorum.
     Bizde göç konusunda ne tür çalışmalar var detaylı olarak bilmiyorum ancak genel olarak ülkelerin Özgür yazılımlara göçü ile ilgili RSS takip listemde epey bir haber var. İşte onlar:


     Ayrıca paylaşmak isterseniz göçte yaşadığınız sıkıntıları ve bunları nasıl aştığınızı buraya yazabilirsiniz. Böylece bundan sonra göç edeceklere ışık tutumuş oluruz.

Kaynaktaki dosyaların silinmesi ihtimaline karşı bende pdf belgeleri buraya ekliyorum:
Açık kaynak kodlu yazılımların idari, mali ve hukuki boyutları

Göç Planı Hazırlanması ve Uygulanması

Kaynak:
http://www.bilgitoplumu.gov.tr

12
May

Yeni dizüstü bilgisayarıma geçişle beraber eski bilgisayarımdaki web tarayıcı ve eposta bilgilerimi yenisine taşımam gerekiyordu. Windows’tan Linux’a geçişte problem yaşar mıyım diye araştırma yaparken bu işin çok kolay bir şekilde halledilebileceğini öğrendim. Şimdi bu geçişi biraz anlatalım.
Önce vazgeçilmez internet tarayıcım Firefox ile başlayım.

Windows tarafı:
C:\Documents and Settings\”Kullanıcı adı”\Application Data\Mozilla\Firefox\Profiles
Klasörü altında
xxxxx.default adında bir klasör göreceksiniz.
işte bu klasörde kullandığınız Firefox’a ait tüm bilgiler bulunuyor. Bu klasörü kopyalıyoruz. Şimdi Ubuntunuzu açma zamanı.
Klasörü bulamadıysanız resimler size yardımcı olabilir.

Vista için:
Vista appdata

XP için:

xp appdata1

xp appdata2


Ubuntu Tarafı:
Kopyaladığınız Firefox klasörünü ubuntuda
Menüden Yerler/Başlangıç dedikten sonra Görünüm menüsünden Gizli dosyaları göster’i seçip

.mozilla/firefox altına kopyalayın.

burada bulunan
profiles.ini dosyasını açarak

Path=xxxxxxx.default

yazan yere kendi kopyaladığınız klasörün adını yazın.

Firefox’u başlattığınızda yer imlerinizden parolalarınıza, eklentilerinizden temalarınıza kadar herşeyi aynı bulacaksınız.

Sırada Thunderbird taşıması var:

Windows Tarafı:
C:\Documents and Settings\”Kullanıcı adı”\Application Data\Mozilla\Thunderbird\Profiles
Klasörü altında
xxxxx.default adında bir klasör göreceksiniz.
işte bu klasörde kullandığınız Thunderbird’e ait tüm bilgiler bulunuyor. (Tüm eposta ayarlarınız, gelen ve giden postalarınız da tabi) Bu klasörü kopyalıyoruz. Şimdi Ubuntuya geçelim.

Ubuntu Tarafı:
Kopyaladığınız Thunderbird klasörünü Ubuntuda
Menüden Yerler/Başlangıç dedikten sonra Görünüm menüsünden Gizli dosyaları göster’i seçip

.mozilla/thunderbird altına kopyalayın.

burada bulunan
profiles.ini dosyasını açarak

Path=xxxxxxx.default

yazan yere kendi kopyaladığınız klasörün adını yazın.

Thunderbird’ü başlattığınızda herşeyi aynı bulacaksınız.

Bu bilgileri Windows’tan Ubuntuya geçerken kullanabileceğimiz gibi kendi bilgilerimizi yedeklemek amacıyla da kullanabiliriz. O kadar özenerek oluşturduğumuz Firefox’u ya da Thunderbird’ü tekrar tekrar kurmak yerine bu klasörleri yedekleyerek tüm emeğimizi sağlama almış oluruz.

Tek klasörü kopyalayarak herşeyi yedeklemek gibi bir kolaylığı özgür yazılıma borçluyuz gibime geliyor.

Daha detaylı bilgi için kaynakları inceleyebilirsiniz.
Kaynak:
Firefox
Thunderbird