Ho iniziato a usare Rails 2 lo scorso aprile, ma mi sono fermato a giugno perché pensavo che impararlo quando Rails 3 fosse stato rilasciato sarebbe stato molto più pratico poiché molto è stato completamente refactored e ristrutturato. Lavoravo con Ubuntu 10.04 (con SQLite3 come db predefinito) ma ora sto usando Windows 7 e MySQL 5. Ho già installato l'adattatore gem per MySQL, ma per utilizzarlo ho ancora bisogno di modificare database.yml. Grazie.Come impostare MySQL come database predefinito in Rails 3?
risposta
In termini di configurazione del database, non è cambiato molto tra Rails 2 e 3, ad eccezione di come si carica il driver MySQL. Questo usato per essere fatto in config/environment.rb
ma ora è fatto in Gemfile
:
gem 'mysql'
Il file predefinito config/database.yml
è impostato con SQLite, ma si può facilmente cambiare questo oltre ad essere MySQL. Una versione generica assomiglia:
defaults: &defaults
adapter: mysql
username: localdev
password: mylocaldevpasswordwhateveritis
host: localhost
development:
<<: *defaults
database: project_dev
test:
<<: *defaults
database: project_test
E 'la linea adapter
dichiarazione che imposta quale driver da utilizzare.
Nella risposta di tadman, utilizzare gem 'mysql2' per i binari 3 poiché rails 3 ora utilizza il nuovo adattatore mysql !!
Inoltre, in database.yml 'adattatore: mysql' -> 'adattatore: mysql2' –
È possibile modificare i binari predefiniti in MySql quando si genera una nuova applicazione, ma è necessario modificare una linea nell'installazione delle guide. Dovrai apportare la modifica ad ogni versione e ogni volta che aggiorni la gemma delle rotaie.
Io uso Ruby-Enterprise. Quindi, ecco quello che faccio:
nel file (dove 1.8 è la versione rubino e 3.0.4 è la versione rotaie):
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/railties-3.0.4/lib/rails/generators/rails/app/app_generator.rb
Edit: In rotaie-3.1.0-rc1 il file è:
gems/railties-3.1.0.rc1/lib/rails/generators/app_base.rb
Cerca per questa linea:
class_option :database, :type => :string, :aliases => "-d", :default => "sqlite3",
Change "sqlite3" a "mysql".
class_option :database, :type => :string, :aliases => "-d", :default => "mysql",
Così, invece di fare:
rails new application_name -d mysql
posso solo fare (e la database.yml e Gemfiles sono configurati per la gemma mysql2):
rails new application_name
Questo presuppone che la gemma mysql2 corretta già installata. Inoltre, l'ho fatto solo da quando è uscito Rails 3. Probabilmente è simile per le versioni precedenti. Di nuovo, ogni volta che aggiorni Rails, dovrai trovare e modificare quel file.
Sto usando RVM con Ruby 1.9.2 e Rails 3, e il percorso del file per me si trova a: $ (rvm gemdir) /gems/railties-3.0.5/lib/rails/generators/rails/app/app_generator.rb. Gli istruttori funzionano perfettamente. – gunit888
Dal Rails 3.2 è possibile definire un file .railsrc con le opzioni della riga di comando personalizzato che sarà sempre applica ai rails new
Quindi, se si crea un file chiamato .railsrc
e metterlo nella vostra directory home w/i contenuti come questo -d mysql
renderà mysql il tuo database predefinito. Puoi mettere qualsiasi delle opzioni della riga di comando in là (incluso lo application templates che sono fantastiche!)
Eseguire rails new --help
dalla riga di comando per visualizzare tutte le opzioni.
- 1. MySQL - valore predefinito per TIMESTAMP (3)
- 2. Come recuperare/ricreare il database predefinito 'mysql' di mysql
- 3. Rails 3 Mysql Problemi
- 4. Come modificare il server di rail predefinito in Rails 3?
- 5. Come impostare il formato predefinito per un percorso in Rails?
- 6. Come utilizzare enum in un database Postgres in Rails 3?
- 7. Rails 3: Parametri controller valore predefinito
- 8. Come posso impostare una sessione nel database codeigniter 3?
- 9. come impostare il set di caratteri predefinito?
- 10. Rails 3 - come evitare del tutto il database?
- 11. emacs: come impostare il tipo di database predefinito per un file sql in modalità SQL
- 12. Schema predefinito in MySQL
- 13. ibernazione - come impostare l'incremento automatico nei database mysql e oracle?
- 14. Come impostare il repository predefinito
- 15. Rails 3 table lock
- 16. Come posso impostare il valore del parametro di default di routing in Rails 3
- 17. Come impostare il pulsante predefinito in PyGTK?
- 18. Come impostare un valore predefinito in selectize.js?
- 19. Come impostare il ramo predefinito in GitHub.com?
- 20. Come impostare l'orientamento predefinito in iOS Simulator
- 21. Rails 3 - più database con unisce condizione
- 22. database per applicazioni CRUD, Rails 3
- 23. Rails 3 e database di grafici
- 24. rotaie 3: come generare modelli per tabelle di database
- 25. Come invertire l'ordinamento predefinito in Mysql?
- 26. Come impostare jqGrid come predefinito per comprimere
- 27. Come impostare Notepad ++ come editor predefinito TortoiseSVN?
- 28. Come impostare l'URLCache condiviso in swift 3?
- 29. Rails 3: Come riassumere record
- 30. Impostare l'oggetto dal modello ActionMailer in Rails 3?
C'è un modo per rendere mysql l'impostazione predefinita invece di sqlite? –
Per i nuovi progetti? Non facilmente. Questa è una caratteristica fondamentale di Rails. In genere le persone preparano un progetto "scheletro" per le loro nuove applicazioni che è personalizzato come richiesto, con driver di database, plugin, gemme tutti impostati come ti piace, quindi clonato per nuovi progetti. In questo modo puoi avere qualsiasi valore predefinito che ti piace, non importa quanto esotico. – tadman
Grazie. Quindi non posso renderlo predefinito per i nuovi progetti. – arscariosus