2011-07-13 47 views
1

我需要构建一个Ruby on Rails数据库,它可以处理多个“模块”,它们提供各种相关的功能集。我想要通过模块对模块表进行分组,几乎类似于命名空间。Ruby on Rails表名:允许什么?

:字符在Ruby on Rails的表名中是否安全使用,如果不是,那么有什么好的选择?

+0

只是用下划线 – keymone

回答

2

这真的取决于数据库提供者。如果您使用的是mysql或其他基于sql的数据库,我会说:不允许,但是您可以修改迁移文件来命名表,如modulename_modelname。然后在模型本身就可以作为记录在这里通过调用set_table_name指定表名:

http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-set_table_name

+0

与sqlite3的快速实验给了我'创建表 'AB:CD'(ID INT主键);'创建的表。 – Jashank

2

这只是看起来很危险的和丑陋的我。我会坚持预先加下划线。

admin_users 
admin_tools 
supervisor_charts 

+0

危险,我能理解; Ruby确实使用':',它可能不是可移植SQL的最佳主意。我怀疑编码器的眼中是丑陋的。 – Jashank