Arda Basoglu
  • Home
  • Blog
  • Links
  • Contact

Windows, Ruby on Rails, Heroku, Git

11/8/2009

1 Comment

 
If you,
  • use Windows PC
  • want to develop Ruby on Rails application
  • want to host it on Heroku
  • want to check out source code using Git
there are couple of installations and settings before doing those.

These are as follows:
  • Installing Git Extension
  • Installing Rubygems
  • Installing Heroku gem
  • Createting an SSH key file
  • Adding keys to Heroku
You will probably need more than these, but these are minimums to get the code from the Heroku repository.

Create an SSH key file


After you installed these minimums, you run GitBash and create an SSH key for Heroku use.

$ cd ~/
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen –C “youremai@yourmail.com” –t rsa

Add your keys to heroku

You add this key to Heroku for later check outs and check ins

$ heroku keys:add

Checking out the source code

You check out the code by using clone option of git

$ git clone -o heroku git@heroku.com:yourapp.git
1 Comment

fixture_replacemet plugin ve primary key olmayan tablo sorunu

8/11/2009

0 Comments

 
Eğer Ruby on Rails ile uygulama geliştiriyorsanız fixture'ları kullanmışsınızdır. Fixture'lar YAML veya CSV biçimindeki metin dosyalarıdır ve test veritabanınızı doldurmak için kullanılır. Bu çok karmaşık olmayan veri tabanı şemaları için uygun ve etkin bir çözümdür.  Ancak, modellerinizin sayısı artıp sisteminiz karmaşık hale gelmeye başlayınca fixture'ları yönetmek zorlaşmaya başlar. Birbirine bağımlı olmaya başlayan fixture'lari birbirini etkilemeyecek şekilde arttırmaya veya düzenlemeye çalışmak vakit alır ve pratik olmaktan çıkarlar. Bu durumda FixtureReplacement gibi bir plugin kullanıp işlerinizi kolaylaştırabilirsiniz.

FixtureReplacement fixture'lardaki dezavantajları ortadan kaldırır. FixtureReplacement naıl kullanıldığını merak ediyorsanız "http://github.com/smtlaissezfaire/fixture-replacement-git/tree/master":http://github.com/smtlaissezfaire/fixture-replacement-git/tree/master adresindeki readme'ye bir göz atın derim. Çok basit bir kullanımı olduğunu göreceksiniz.

Geçenlerde FixtureReplacement kullanırken bir sorunla karşılaştık ama basit bir alternatif yöntem kullanarak bu sıkıntıyı aştık. Problem FixtureReplacement'ın primary key'i olmayan bir tablo için 'create' methodunun çalışmamasıydı. Diğer bir deyişle eğer tablonuzda bir 'id' alanı yok veya modelinizde 'set_primaty_key' ile bir alanı primary key olarak seçmediyseniz ActiveRecord'ın 'create' methodunu kullanan FixtureReplacement bu yüzden hata veriyor. Örneğin,

Kedi tablomuz olsun ve alanları şöyle olsun:

ad, cins,  goz_rengi, tuy_rengi, kilo

Bu modeli FixtureReplacement sunduğu yöntemle (create_model) şu şekilde yaratmaya çalışalım

create_kedi(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)

Sonuç aşağıdaki hata gibi olacaktır.

ActiveRecord::StatementInvalid: PGError: ERROR:  column "id" does not exist

Bunu şu şekilde de denesek sonuç aynı olurdu

Kedi.create(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)

veya

kedi = Kedi.new(
:ad => "Sarman",
:cins => "tekir",
:tuy_rengi => "sarı",
:goz_rengi => "ela",
:kilo => "6"
)
kedi.save

Doğrudan SQL kullandığımız zaman bu problemin ortadan kalktığını görüyoruz

sql = "INSERT INTO kedi (ad, cins, goz_rengi, tuy_rengi, kilo) VALUES ('Sarman', 'tekir', 'ela', 'sarı', 6)"
ActiveRecord::Base.connection.execute(sql)

h2. Sonuç

FixtureReplacement kullanıyor ve primary key olmayan bir tablonuz varsa create_model (model yerine kendi modellerinizden birini düşünün create_kedi gibi) metodunu kullanamazsınız. Bunun yerine doğrudan SQL çalşıtırmanız testleriniz sırasında size bir çözüm sağlayacaktır.
0 Comments

    Author

    Arda Basoglu is a digital marketing agency owner, software engineer/developer, musician. Worked for several companies: TWB, BNB Software, PINC Solutions,  hakia, Nurol,  NTV. 

    Archives

    October 2021
    August 2021
    June 2020
    April 2020
    September 2017
    July 2017
    April 2017
    February 2017
    September 2015
    October 2014
    March 2014
    February 2014
    January 2013
    June 2012
    May 2012
    July 2011
    December 2010
    November 2010
    October 2010
    August 2010
    July 2010
    June 2010
    March 2010
    February 2010
    January 2010
    December 2009
    November 2009
    October 2009
    August 2009
    June 2009
    May 2009

    Categories

    All
    Açık Kaynak
    Algorithms
    Avşa
    Big O Notation
    Certbot
    Database
    Ekmek
    Ekonomi
    Encrypting Settings
    Enflasyon
    Google Maps
    Heroku
    Heroku Rake Fixture Yaml Error
    JavaScript
    Mac Os X
    Magento
    .net
    .net Forms Login Progress Bar
    Node
    Node.js
    Node-postgres
    Personal
    Peynir
    Postgresql
    Rack 1.2.1 Utils.rb Error Heroku
    Ruby On Rails
    Windows 7
    Windows Froms
    Windsurfing
    Wordpress
    Yankoltuk

    RSS Feed

Powered by Create your own unique website with customizable templates.