Rake db/migrate nie tworzy tabel

Witam.

Zainstalowałem ruby 1.9.2 i rails 3.0.1

Generuje sobie Scaffolda np.

rails generate scaffold Test name:string (wszystko OK)

Potem robię tak:

administrators-computer:~/Documents/Rails/test1/db admin$ rake1.9 db/migrate
(in /Users/admin/Documents/Rails/test1)
administrators-computer:~/Documents/Rails/test1/db admin$

:confused:

Odpalam w Safari
http://localhost:3000/tests

i widzę

SQLite3::SQLException: no such table: tests: SELECT “tests”.* FROM “tests”

:confused:

więc ręcznie tworzę tabelę w SQLite3 i wtedy wszystko działa

Co robię źle ?

rake db:migrate uruchamia migracje, które operują na już istniejącej tabeli.

Żeby automatycznie stworzyć tabelę na podstawie tego, co w config/database.yml musisz uruchomić rake db:create.

O teraz działa.

W Rails 2.3 nie trzeba robić rake db:create

Da się tak zrobić zeby nie wpisywać ‘rake1.9’ tylko samo ‘rake’ ??

da się ln -s

albo jak masz porządne distro (Gentoo :D) to eselect …

a poza tym zawsze było trzeba robić create, nie trzeba tylko w sqlite i tyle.

Oskar, zapomniałeś wspomnieć o RVM :wink:

Tak, jak najszybciej zacznij korzystać z RVM, strasznie ułatwia życie.

A ja bałem się zainstalować RVM żeby sobie życia nie utrudniać :slight_smile:

A jak mam już Ruby 1.9.2 to mogę bez problemu zainstalować RVM ??

Tak.

RVM jest “nad” Ruby. TO zestaw skryptów shellowych zarządzających Twoją zmienną PATH, dzięki czemu możesz mieć wiele różnych ersji ruby. Najprościej:

  1. Zainstaluj RVM

$ rvm install 1.9.2-head $ rvm use 1.9.2-head --default
i jedziesz. możesz instalować gemy (bez sudo).

Mam już rvm. Robie tak:

rvm install 1.9.2-head

i…

/Users/admin/.rvm/rubies/ruby-1.9.2-head, this may take a while depending on your cpu(s)…
%
ruby-1.9.2-head - #fetching %
Downloading source from http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2.%
Copying from repo to src path…%
Running autoconf%
ruby-1.9.2-head - #configuring %
ruby-1.9.2-head - #compiling %
Error running 'make ', please check /Users/admin/.rvm/log/ruby-1.9.2-head/make.error.log%
There has been an error while running make. Halting the installation.%
administrators-computer:~ admin$ mate /Users/admin/.rvm/log/ruby-1.9.2-head/make.error.log

plik make.error.log taki

[2010-11-02 20:13:35] make
parse.y:618: unrecognized: %parse_param
parse.y:618: Skipping to next %
make: *** [parse.c] Error 1

A miało być tak pięknie :slight_smile:

Nie mam pojęcia dlaczego sevos poradził Ci instalację ruby-1.9.2-head. Czy wersja stabilna (bez -head) się instaluje?

rvm install 1.9.2

Niestety to samo.

Spróbowałem na innym kompie z Mac OS Tigerem i to samo.
Coś chyba robię nie tak.

Mam Mac OS Tigera 10.4.11
XCode 2.4.1

Zainstalowałem GIT’a według http://progit.org/book/ch1-4.html

$ sudo port install git-core +svn +doc +bash_completion +gitweb

Potem

$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

i na koniec

do pliku .profile dopisuję

[[ -s “$HOME/.rvm/scripts/rvm” ]] && . “$HOME/.rvm/scripts/rvm”

ruby 1.8.7 instaluje się bez błędu.

Więc może to dlatego że mam już zainstalowane 1.9.2 ??

@hubert: mój bład, ostatnio jak instalowałem 1.9.2, to jeszcze head używałem :wink:

@RORMaster: Próbowałbym uaktualnić XCode. Podobno 2.5 chodzi na tigerze.