Mam problem - dopiero się uczę (książka “Agile…” 2nd ed.) i mam problem już na samym początku przy użyciu rake db:migrate, wyskakuje mi błąd: “#42000Unknown database ‘depot_development’”
Używałem wielkiego G! i znalazłem informacje o dodaniu w pliku database.yml info o porcie 3210… jak dodaje wyskakuje mi z kolei: “rake aborted! bad file descriptor - connect <2>”
Miał ktoś z Was styczność z takim problemem lub może wskazać mi gdzie leży błąd??
Pozdrawiam
Jaki system? Mysql działa? Jeśli nic mu nie zmieniałeś to nie musisz nic kombinować z portem! “bad file descriptor - connect <2>” świadczy o tym, że railsy nie mogłby nawiązać połączenia z bazą. Czy wpisałeś login i hasło do pliku databas.yml?
nie, nie wpisałem - dla tego, że na localhoscie mam mysql’a bez hasla ani loginu. Po prostu bezhasłowe konto root’a.
Spróbuję za chwilkę przeinstalować mysql’a i stworzyć w trakcie instalacji jakieś hasło dla roota. Dam znać, co wyszło.
(zrzut fragmentu database.yml :
development:
adapter: mysql
database: depot_development
username: root
password:
host: localhost)
sprawdze to troszke pozniej - najprawdopodobniej posypaly mi sie uslugi windowsa nie mam czasu zeby to naprawiac - czeka mnie format (zaoszczedze w ten sposob troche czasu ). Dam znac, co wyszlo…
a do tworzenia bazy danych uzylem bodajze mysql -u root create database depot_development
Przegapiłem ten pierwszy komunikat, przed zmianą portu. Tak jak pisze Ci lordoza, nie stworzyłeś bazy ‘depot_development’. Login i hasło zostaw tak jak jest, bo taki komunikat świadczy o tym, że railsy połączyły się z bazą.
Widocznie jednak coś się nie udało ;). Odpal “mysql -u root” i wykonaj polecenie “show databases”. Prawd. bazy nie będzie w spisie.
dostaję “po mordzie” w trakcie migracji (error):
rake aborted!
Mysql::Error: #42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘order(id)’ at line 2: alter table line_items add constraint fk_line_item_orders foreign key (order_id) references orders(id)
Czekam na porady specjalistów, bo już troszkę czasu nad tym spędziłem i samemu nic nie znalazłem (tzn. jedną literówkę, ale nie zmieniła ona postaci rzeczy :/)
Hm nie widać za bardzo błędu, ale:
-spróbuj nie wstawiać znaku entera w stringu (niech to będzie jedna linia)
-wklej te polecenia bezpośrednio w konsoli (te 2 ostatnie sqle) i sprawdź czy jest błąd
-najprawdopodobniej to nie pomoże, ale tonący chwyta się brzytwy: daj średnik na końcu tych “ręcznych” sqli
nie wydaje mi sie, ogolnie Agile jest pisane pod katem MySQL, wiec conajmniej dziwne by bylo, gdyby tak przeskoczyli na coś innego. A powyzsze porady nic nie dały, dalej syf. Nic, trzeba jeszcze raz wszystko przeanalizować. Jak odgadnę, co było nie tak, to dam znać.
Pozdrawiam