Un mic script în ajutor la scrierea migrărilor

Demult mi-am făcut un mic scriptuleț p-u a rula migrările înapoi.

Modul de utilizare

Migrează baza la o versiune anterioară:


migrate -1

P-u a migra baza la o versiune oarecare:


migrate 20 # dacă folosiți convenția veche p-u migrări

Se copie scriptul în ~/bin, se adaugă mapa la variabila de mediu PATH dacă nu este deja.

Sursa:

Postat de Vitalie L pe Oct 29, 2009

Migrarea applicației rails de la 2.2.2 la 2.3.2

Aztăzi m-am apucat să migrezi people.md de la rails 2.2.2 la 2.3.2 și iată ce probleme s-au ivit pe parcurs:

  • Unit testele trebuie de editat și de schimbat clasa de bază
    ruby rreplace.rb Test::Unit::TestCase ActiveSupport::TestCase
  • Testele funcționale trebuie de editat și de schimbat clasa de bază
    ruby rreplace.rb Test::Unit::TestCase ActionController::TestCase
  • Dacă folosiți mocha și aveți eroare de tipul NoMethodError: undefined method `expects’ for #, faceți upgrade la gem-ul mocha la versiunea 0.9.5
  • Dacă folosiți active record store pentru sesiuni și applicația dă erori de felul uninitialized constant CGI::Session, atunci va trebui de schimbat toate stringurile CGI::Session::ActiveRecordStore în ActiveRecord::SessionStore
  • Erorile ”Mysql::Error: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1” sunt cauzate de operatorul SQL ”truncate table_name” și se pot evita folosind ”delete from table_name”, bugul p-u rails

Sper că aceste fixuri să fie de folos și altora.

Referințe: Descarcă rreplace.rb

Postat de Vitalie L pe Apr 11, 2009

Cum dereînoit radiat cms de la 0.6.9 - 0.7.1

Astăzi am decis să instalezi blogul pentru debian și am folosit extensia multi-site pentru radiant.
N-are sens de menținut două instațe rails pentru acelaș tip de applicație.

Dar a apărut problema că extensia este incompatibilă cu versiunea la radiant 0.6.9, așa că am hotărât să fac upgrade.

gem update radiant

După care apar unele probleme ascunse, nu se instalează unele gem-uri necesare pentru noua versiune: hoe, cucumber

gem install hoe cucumber

Dacă folosiți extensia comments, atunci e necesar de a redenumi mapa app/views/admin/page în app/views/admin/pages

Cel mai ușor e să folosiți applicașia mea pentru blog care conține toate fixurile și extensiile necesare pentru a folosi radiant ca blog engine.

Sursele în git repozitoriu:

git://git.assembla.com/blog-ror-md.git

Postat de Vitalie L pe Mar 22, 2009

GTD: Modelul Natural de Planificare

Ieri Union Fenosa a făcut lucrări de profilactică în sectorul nostru așa că am găsit ceva timp să mai citesc un capitol din cartea ”Getting Things Done”. Am fost frapat de ce am citit, așa că m-am hotărât să scriu acest articol, poate va fi de folos și altora.

Modelul Natural de Planificare (MNP) constă în următoarele etape:

  1. Definirea scopului și a principiilor
  2. Închipuirea rezultatului
  3. Sesiunea de ”brainstorming”
  4. Organizarea
  5. Identificarea următoarelor acțiuni

Autorul descrie acest model printr-un exemplu real: Planificarea unei cine. Eu însă vă voi da un exemplu personal cum eu am plănuit proiectul ”Finanţarea articolelor”.

De obicei când citesc am un stilou și un carnet la îndemână să-mi scriu ideile care imi vin prin minte ca să nu mă încurce la citit. Așa că mi-a prins bine să schițez în timp ce citeam.

Citește mai departe…

Postat de Vitalie L pe Jan 17, 2009

Integrarea Continuă în Rails

După Martin Fowler: Integrarea Continuă (Continuous Integration) este o practică unde membrii echipei își integrează schimbările frecvent în proiect cel puțin odată pe zi. Fiecare schimbare este verificată de un build automat care compilează codul, rulează teste, verifică stilul codului scris, etc și detectează erorile cît de repede posibil. Multe echipe au găsit această practică foarte binevenită, care elimină multe probleme de integrare dintre echipe.

Această practică permite de a menține o calitate a codului destul de înaltă, micșorând drastic pierderile de timp la integrarea componentelor.

Fiindcă rails/ruby nu are stadie de compilare, rămâne doar de verificat testele și migrărea bazei de date. Aveam o idee să integrez un script de IC pentru site-ul www.assembla.com și astăzi am muncit la un așa script.

Citește mai departe…

Postat de Vitalie L pe Jan 10, 2009