2010-04-20 14 views
6

En CakePHP, puedo especificar un prefijo en la configuración de mi base de datos, es decir, "so_", de modo que cada modelo busque su tabla bajo este prefijo.Especifique un prefijo de tabla para MySQL

¿Algo similar también es posible en Rails? Es decir, ¿pueden varios programas compartir una base de datos?

Respuesta

12

Usted puede tratar lo siguiente en environments.rb: En la sección de configuración de añadir el siguiente código

config.active_record.table_name_prefix = "so_" 
+0

Funciona perfectamente a partir de la versión 2.1.2. – blinry

+0

Aparece en 5.0 hay 'config/environments/development.rb',' production.rb' y 'test.rb'. – akostadinov

0

Puede especificar fácilmente su propio nombre de la tabla para cada modelo con el método set_table_name:

class Mouse < ActiveRecord::Base 
    set_table_name "so_mice" 
end 

Pero hay que hacerlo para cada modelo, no sé de cualquier opción de configuración global.

+0

puedo estar seguro de que la la base de datos no se descarta cuando me apetece 'rake db'-things? – blinry

+0

Siempre que no realice un "rake db: reset" o "rake db: migrate: reset", la base de datos no se eliminará. La mejor manera de evitar la caída involuntaria de la base de datos es no dar el derecho al usuario en cuestión. – Aurril

0

constante RAILS_ENV está obsoleto desde la versión 3.0, ahora es Rails.env

Cuestiones relacionadas