Jdbcmysql problem z odpaleniem testów

Witam. Zawsze miałem problem z MySQL i korzystałem z sqlite3 co w połączeniu z Netbeans sprawiało trochę kłopotów. Teraz udało mi się rozwiązać problem mySQL, który polegał na tym, że rake’iem nie mogłem dodać bazy danych mimo, że mam uprawnienia. Muszę do każdego projektu ręcznie dodawać bazę danych np w PhpMyAdmin.

Pisząc aplikacje z książki “Simply Rails 2” natrafiłem na kolejny problem. W książce tej po każdym rozdziale robi się testy wszystkiego co zostało napisane w danym rozdziale. Przy próbie odpalenia test:units wywala taki komunikat

[quote]Test-unit version : 2.0.7 loaded
(in C:/InstantRails-2.0-win/rails_apps/shovell)
rake aborted!
Task not supported by ‘jdbcmysql’[/quote]
Znalazłem w googlach rozwiązanie ale nie za bardzo potrafie je zastosować :frowning:

[quote]This has been an issue for a while since we went with the new adapter
names. I finally got around to submitting a patch for the problem –
see http://dev.rubyonrails.org/ticket/11596 You can try the patch and
add your +1 there too if you like.[/quote]
No jest ten patch ale jak go zaaplikować??

[quote]For now, the other workaround is to go to the non-automatic
configuration. Meaning, put the “if jruby … require ‘jdbc_adapter’”
bit in your environment.rb [1] and use “adapter: mysql” in your
database.yml.[/quote]
Drugiego sposobu za bardzo nie rozumiem. Tzn wiem że ifa trzeba umieścić, ale nie za bardzo wiem jak ma ostatecznie wyglądać.

Nie za bardzo rozumiem której wersji rubiego używazs. JRuby czy InstantRails (MRI)?

W netbeans używam jruby(chyba 1.4.0) i chciałbym przy nim pozostać bo gdy w NB używam wersji z InstantRails to w NB nie działa mi konsola i parę innych rzeczy.

PS. Już wiem skąd ta niepewność :slight_smile: chodzi o to że projekty zapisuje sobie w katalogu instant rails. Nie wiem dlaczego, ale mam taki nawyk. Pewnie dlatego, że wcześniej miałem problemy z NB i często musiałem pisać w NB, a uruchamiać server przez IR i dlatego zapisywałem w takim miejscu.

PPS. Dodam że podobno te 2 sposoby działają tylko jestem trochę zbyt zielony, żeby je wykorzystać.

Sprawdź czy masz aktualną (>=0.9.2) wersję activerecord-jdbc-adapter.
Miałem podobne problemy kiedy walczyłem z JRubym kilka miesięcy temu. Od 0.9.2 (i skryptu script/generate jdbc) problem zniknął.

Tu masz najlepszą instrukcję: http://github.com/nicksieger/activerecord-jdbc-adapter

PS: Ten script/generate generuje plik initializers/jdbc.rb, który ma tego ifa, o którym piszesz:

[code=ruby]# This file was generated by the “jdbc” generator, which is provided

by the activerecord-jdbc-adapter gem.

This file allows the JDBC drivers to be hooked into ActiveRecord

such that you don’t have to change anything else in your Rails

application.

require ‘jdbc_adapter’ if defined?(JRUBY_VERSION)[/code]