2013-03-25 23 views
12

Jestem naprawdę nowy w Ruby on Rails. Przeczytałem this tutorial i brzmi naprawdę łatwo.Jak mogę połączyć się z MySQL w Ruby on Rails?

Ale jak mogę połączyć się z bazą danych (MySQL) lub co robi Szyny użyciu? W php użyłbym ...

mysql_connect("...","...","..."); 
mysql_select_db("..."); 

Szukałem google i nie mogę znaleźć żadnych przydatnych wskazówek.

Odpowiedz

14

Nie trzeba robić te rzeczy ręcznie, sprawdź to: http://guides.rubyonrails.org/configuring.html#configuring-a-database

+0

Ok jestem przyzwyczajony do korzystania phpMyAdmin, więc kiedy mogę uzyskać dostęp do phpMyAdmin? A skąd mam wiedzieć, jakie jest moje hasło itp.? w database.yml? – jesper

+1

Cóż, po utworzeniu własnej bazy danych skonfigurowałeś ją przy użyciu poświadczeń, prawda? Jeśli nie stworzyłeś go sam, powinieneś zapytać administratora db. Nie ma domyślnego podstawienie dla phpMyAdmin, istnieje kilka silników/perełki że MINIC to zachowanie, choć: http://stackoverflow.com/questions/8554676/is-there-a-phpmyadmin-for-ruby-on-rails I dont używać go jednak, wolę linię cmd mysql, lub gdy na komputerze Mac: Sequel Pro – Stobbej

22

Zajrzyj do pliku konfiguracyjnego config/database.yml

potrzeba ustawienia konfiguracji istnieje. Oto przykład dla środowiska produkcyjnego:

production: 
    adapter: mysql2 
    encoding: utf8 
    database: example 
    pool: 10 
    username: example 
    password: secure 
    socket: /var/run/mysqld/mysqld.sock 
    reconnect: true 

Oprócz tego trzeba dodać gem 'mysql2' w Gemfile i uruchomić bundle install.

+0

Ok moja aktualna baza danych jest "db/development.sqlite3". Mogę tego użyć, ale jak mogę tworzyć tabele, tak jak zrobiłem to w phpmyadmin? Czy jest jakiś panel administracyjny? – jesper

+0

Chcesz to zrobić z migracjami. Kiedykolwiek używasz 'rails generate model xyz name: string xyz: string' generator generuje automatycznie migrację dla ciebie. Możesz rozpocząć migrację za pomocą 'rake db: migrate'. Zajrzyj do http://xyzpub.com/en/ruby-on-rails/3.2/activerecord_datenbank_anlegen.html, aby uzyskać opis krok po kroku. – wintermeyer

+0

Ok zrobiłem prowizji db: migracja, ale ... co dalej? Jak mogę tworzyć tabele? – jesper

5

zawartość mojego pliku config/database.yml:

# Ensure the MySQL gem is defined in your Gemfile 
# gem 'mysql2' 
# 
# Install MySql gem if not already there. 
# Below command installs some pre-requisites for the installation: 
# sudo apt-get install libmysqlclient-dev mysql-client 
# After above, this to finish gem installation: 
# gem install mysql2 
# 
# And be sure to use new-style password hashing: 
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html 

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: YOUR_DATABASE_HERE 
    pool: 5 
    username: root 
    password: root 

Ponieważ komentarze powyżej konfiguracjach powiedzieć, być może trzeba najpierw zainstalować gem mysql2 przez terminal. Po zakończeniu instalacji wykonaj bundle install i rake db:migrate, a następnie uzyskaj dostęp do bazy danych za pomocą phpmyadmin.

Właśnie natknęliśmy się na to pytanie godzinę temu, więcej niż 2 lata później, ponieważ padło pytanie. Chociaż rozumiem, że jest to bardzo późno i na pewno OP musiał to rozwiązać, ze względu na innych początkujących użytkowników, takich jak ja, którzy mogą tu przyjść po rozwiązanie, pomyślałem o napisaniu mojego rozwiązania tutaj. Mam nadzieję, że to pomoże.