我的任务是为我目前的工作开发一个新的零售电子商务店面,我正在考虑使用 RoR 来解决它 A) 用我有限的 Rails 知识构建一个“真实”项目,以及 B) 为管理层提供快速周转和反馈(他们希望尽快完成这项工作,而且他们的截止日期相当不切实际——我说的是几周后才能从无到有工作模式,这样他们就可以开始使用 SEO/SEM 进行营销,我不骗你,“视频博客”,因为我的老板听说那是未来)。
我们确实有一个数据库结构,但它非常糟糕,而且毫无道理地被拼凑在一起,所以我将在很大程度上忽略它并从头开始创建一个新数据库;但是,我有需要加载到应用程序中的现有数据(就像我说的,它是一个电子商务应用程序,我们有产品数据)。我需要将这些数据按摩成可用的格式,因为我们的供应商向我们提供了神秘的缩写列名,并且它是高度非规范化的,尤其是在类别中(我之前发布过一个关于它的问题 - 基本上类别表有六个字段,每个类别/子类别一个,如果该类别不适用,则其中一些为空白)。
有两个主要问题让我重新考虑:
正如我所说,需要将数据放入“适当的”数据库模式中;我不能按原样加载它。我对一个好的数据模型有一些想法,但我的分析还没有完成。最终会有大量的连接表将各种事物链接在一起(例如 products_categories、products_attributes、products_prices)等,这些表将不是通过 ID 而是通过它们的 SKU 链接产品(见下文)。
所有东西都已经有一个为其生成的 ID,但是我添加的任何新东西都需要自动生成一个;我怀疑这对于任何成熟的 RDBMS 来说都是一个问题,但我知道 Rails 喜欢自己生成 ID。另外,几乎所有的产品相关表都是通过SKU链接的(而且在供应商提供的数据中实际上是一个由前缀和库存号组成的组合键,它们组合起来构成了完整的SKU),而不是通过ID和I '不确定这是否会成为性能问题(当然,我总是可以在这些列上手动创建索引以加快速度)。然而,这确实意味着我需要脱离 Rails 约定。
简而言之,我认为就上市时间和易于开发而言,Rails 可能是一个不错的选择,但必须使用现有的数据内容可能会变得很痛苦,因为需要围绕开发应用程序那个,而不是“传统的” Rails 应用程序,这个因素让我对使用 Rails 产生了重大怀疑。还有一些其他问题(必须设置 Linux 服务器,而且我居住的地区几乎没有 Rails 开发人员,所以如果我离开公司,我基本上会把他们当作人质来更新/修改) . 我真的不确定如何进行的最佳途径。