Ruby on Rails krok 2 – pierwszy model

Railsy są oparte o wzorzec MVC. Zaczynamy od M (model)Model w railsach to wzorzec ActiveRecord. Nie jestem fanem tego rozwiązania, ale na razie chcę poznać Railsy z całym dobrodziejstwem inwentarza.
Chcę stworzyć pierwszy model: autor z polami: name i surname.Z poziomu terminala wykonuję komendę:

rails generate model Author name:string surname:string

Zamiast:

rails generate ...

Można używać:

rails g ...

Mamy teraz klasę:

app/models/author.rb

Klasa jest pusta (tylko dziedziczy po ApplicationRecord). Właściwości są generowane na podstawie struktury tabeli.

Gdybyśmy chcieli usunąć model:

rails destroy model author

Migracja bazy danych

Drugi wygenerowany plik, to migracja bazy danych. Zapis zmian w strukturze bazy danych. W naszym przypadku jest to utworzenie nowej tabeli:

authors.db/migrate/data_czas_create_authors.rb

Żeby zmigrować schemat bazy danych, na której pracujemy, trzeba wykonać instrukcję:

rake db:migrate

Migracje można cofać. Ostatnią migrację cofamy za pomocą:

rake db:rollback 

Można cofnąć kilka ostatnich migracji, np: 3

rake db:rollback STEP=3 

Możemy sprawdzić, które migracje zostały wykonane na naszej bazie, a które nie:

 rake db:migrate:status 

Do migracji wrócę jeszcze w jednej z kolejnych części.

Zapis / edycja modelu w bazie z poziomu konsoli

Uruchamiamy konsolę:

rails console 

Wpisujemy:

Author.all
a = Author.new
a.name = “Jacek”
a.surname = “Dukaj”
a.save
Author.all

Zapisaliśmy pierwszego autora do bazy. Teraz czas na wygenerowanie widoków i kontrolerów, ale to już w następnej części.