Ruby on rails 指定MySQL的表前缀

Ruby on rails 指定MySQL的表前缀,ruby-on-rails,prefix,Ruby On Rails,Prefix,在CakePHP中,我可以在我的数据库配置中指定一个前缀,即“so_”,这样每个模型都会在这个前缀下查找它的表 Rails中也有类似的功能吗?也就是说,几个程序可以共享一个数据库吗?您可以使用set_table_name方法为每个模型指定自己的表名: class Mouse < ActiveRecord::Base set_table_name "so_mice" end class鼠标

在CakePHP中,我可以在我的数据库配置中指定一个前缀,即“so_”,这样每个模型都会在这个前缀下查找它的表


Rails中也有类似的功能吗?也就是说,几个程序可以共享一个数据库吗?

您可以使用set_table_name方法为每个模型指定自己的表名:

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

但是您必须为每种型号执行此操作,我不知道有任何全局配置选项。

您可以在
环境中尝试以下操作。rb
: 在config部分添加以下代码

config.active_record.table_name_prefix = "so_"

我是否可以确保在我进行rake db操作时不会删除数据库?只要不执行“rake db:reset”或“rake db:migrate:reset”,数据库就不会被删除。防止意外删除数据库的最佳方法是不将权限授予相关用户。从2.1.2版开始,它可以完美地工作。5.0版中出现了
config/environments/development.rb
production.rb
test.rb