0

嘿,在我的 Rails 应用程序中,我想存储天气,而应用程序位于生产环境或开发环境中。在我的 activerecord 迁移中,我为 :environment ad 设置了一个整数,0 是开发,1 是生产。然后,当我想将其用作纯文本时,我有一个辅助方法将其转换为 0 和 1 的文本。我应该将此值作为整数还是纯文本存储在我的数据库中?我想使用最有效的方法,因为我想做一个这样的方法if twitter.is_development()

4

2 回答 2

1

我将该列命名为“env”,并使用“production”、“development”和“testing”作为值来指示当前的 env。

您无法预测未来,并且存储原始值可以在很多地方帮助您,比如可以说,我称之为 rake 任务,例如,

"rake product:update_price RAILS_ENV=production",

然后我会使用从 env 列中检索到的值而无需任何逻辑,例如

"rake product:update_price RAILS_ENV=#{env}",

这样,如果它的开发、生产或测试将相应地使用。

检查一下,Rails.env vs RAILS_ENV,也许你根本不需要存储任何东西。

于 2013-07-13T22:47:44.437 回答
1

将其存储为整数会更有意义,因为它们代表数字。如果你想使用文本,那么“true”和“false”会更合适。

无论您决定什么,都无法衡量性能差异。选择最容易理解和维护的。“过早的优化是万恶之源”。

于 2013-07-13T22:42:41.007 回答