2013-03-25 18 views
12

Sono davvero nuovo in Ruby on Rails. Ho letto this tutorial e sembra davvero facile.Come posso connettermi a MySQL in Ruby on Rails?

Ma come posso connettermi al mio database (MySQL) o cosa utilizza Rails? In php userei ...

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

Ho cercato su google e non riesco a trovare suggerimenti utili.

risposta

14

Non devi fare quelle cose manualmente, controllare questo: http://guides.rubyonrails.org/configuring.html#configuring-a-database

+0

Ok, sono abituato a usare phpmyadmin, quindi quando posso accedere a phpmyadmin? E come faccio a sapere qual è la mia password ecc? in database.yml? – jesper

+1

Bene, quando hai creato il tuo database, lo hai configurato con le credenziali, giusto? Se non l'hai creato da solo, dovresti chiedere all'amministratore di db. Non esiste una sostituzione predefinita per phpmyadmin, ci sono alcuni motori/gem che eseguono questo comportamento, tuttavia: http://stackoverflow.com/questions/8554676/is-there-a-phpmyadmin-for-ruby-on-rails Non lo uso però, preferisco la linea mysql cmd, o quando si è su un Mac: Sequel Pro – Stobbej

22

Date un'occhiata nel file di configurazione config/database.yml

È necessario impostare la configurazione lì. Ecco un esempio per l'ambiente di produzione:

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

In aggiunta a ciò si deve aggiungere gem 'mysql2' nel vostro Gemfile ed eseguire bundle install.

+0

Ok il mio database corrente è "db/development.sqlite3". Posso usare quello, ma come posso creare tabelle come ho fatto in phpmyadmin? Esiste qualche tipo di pannello di amministrazione? – jesper

+0

Si desidera farlo con le migrazioni. Quando mai usi 'rails genera il nome del modello xyz: string xyz: string' lo script del generatore genera automaticamente una migrazione per te. Puoi avviare le migrazioni con 'rake db: migrate'. Dai un'occhiata a http://xyzpub.com/en/ruby-on-rails/3.2/activerecord_datenbank_anlegen.html per una descrizione passo passo. – wintermeyer

+0

Ok ho fatto rake db: migrate, ma ... qual è il prossimo passo? Come posso creare tabelle? – jesper

5

contenuto del mio file di 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 

Come le osservazioni di cui sopra le configurazioni dicono, potrebbe essere necessario installare il gioiello mysql2 prima tramite il terminale. Al termine dell'installazione, fare un bundle install e rake db:migrate e quindi accedere al database tramite phpmyadmin.

Mi ero appena imbattuto in questa domanda un'ora fa, più di 2 anni dopo la domanda è stata posta. Anche se capisco che è molto tardi e sicuramente OP deve averlo risolto, per il piacere di altri utenti principianti come me che potrebbero venire qui per una soluzione, ho pensato di scrivere qui la mia soluzione. Spero che sia d'aiuto.