Rake db:migration dziwny problem

Witam mam od jakiegoś czasu jakiś dziwy problem, otóż jeśli w nowo utworzonym projekcie wpisuje rake db:migrate dostaje tylko taki output:

/home/shark/work/gra> rake db:migrate
(in /home/shark/work/gra)
Process rake exited with code 0

oczywiście migracja istnieje i jest poprawna:

-bash-3.2$ cd migrate/
-bash-3.2$ ls
001_create_graczs.rb
-bash-3.2$ cat 001_create_users.rb
class CreateGraczs < ActiveRecord::Migration
def self.up
create_table :graczs do |t|
t.column = :login, :string
t.column = :haslo, :string
end
end

def self.down
drop_table :graczs
end
end

oczywiście w database.yml są 100% poprawne dane, za ich pomoca loguje sie z powloki mysql -u user -p -h host i baza działa, literowki nie ma zadnej, ogolnie wszystko idelanie, a mimo to railsy jakby nie chciały wykonać migracji, co dziwniejsze poprzedni problem uzywa tej samej bazy z identycznym plikiem database.yml działa, a jest to przykład pisany w czasie czytania ksiązki:

/home/shark/work/depot> rake db:migrate
(Process rake exited with code 0
in /home/shark/work/depot)
== CreateOrders: migrating ====================================================
– create_table(:orders)
-> 0.2008s
== CreateOrders: migrated (0.2010s) ===========================================

== CreateLineItems: migrating =================================================
– create_table(:line_items)
-> 0.4206s
== CreateLineItems: migrated (0.4207s) ========================================

== CreateUsers: migrating =====================================================
– create_table(:users)
-> 0.1320s
== CreateUsers: migrated (0.1321s) ============================================

nie rozumiem, a moze jednak robie coś źle? ma ktoś jakieś pomysły ?

A co to “rowna sie” tam robi w migracji?

graczs jes bardzo niefortunna nazwa. Albo Gracz/gracze albo Player/players albo Gamer/gamers. Najlepiej oczywiscie trzymac sie angielskiego nazewnictwa, dodatkowo tak dobierac nazwy zeby inflector sobie z nimi radzil http://thesaurus.reference.com.

ahmm = przeoczyłem, ahmm i zauwazylem ze railsy tworza schema.rb na podstawie juz istniejacych w bazie tabel, i dalej nie podejmuja migracji (bynajmniej u mnie tak jest) na nowej bazie ruszylo odrazu

Jak już chcesz używać polskich nazw to proponuję podawać nazwę tabeli w modelu. W taki sposób robisz jakiegoś łamańca… fuj :slight_smile:

[quote=shark]oczywiście migracja istnieje i jest poprawna:

-bash-3.2$ cd migrate/
-bash-3.2$ ls
001_create_graczs.rb
-bash-3.2$ cat 001_create_users.rb
class CreateGraczs < ActiveRecord::Migration

nie rozumiem, a moze jednak robie coś źle? ma ktoś jakieś pomysły ?[/quote]
Migracje zakładają związek między nazwą pliku a jego klasą. Czyli jak masz plik 001_ala_ma_kota.rb to musisz użyć klasy o nazwie AlaMaKota.

@shark
‘graczs’ nieco dziwnie wyglada. Jesli chcesz uzywac polskich nazw tabel to pomoz sobie i w environment.rb dodaj

Inflector.inflections do |inflect|
inflect.irregular ‘gracz’, gracze’
end