Rails shopify 这样的网站如何创建商家的相关数据

luliangshu · 2014年06月23日 · 最后由 lyfi2003 回复于 2014年06月23日 · 2279 次阅读

我的想法是 商家注册后直接在 controller 里面用 rake 生成他自己的数据库和订单表这些。

然后在 model 里面去改变连接的数据库,类似

establish_connection "<%= ENV['DATABASE'] %>"

修改 database.yml 的数据库名字。

这些都使用一个全局变量 ENV['DATABASE'] 来控制

然后用户登录时 去设置一个全局变量 ENV['DATABASE'] = "data"+user.id。这样就可以变成单个商家自己的数据库 自己表等等

这样是否可行。

或者 直接用 sql 去生成 但这样 绕过了 ActiveRecord。model 里面的还有用么

为每个商家生成对应的数据库这个有点不太好吧,每张表加个 user_id 就行了吧。

不知道 ShopQi 怎么实现的

@Peter 额 所有商家的都在同一个表里面?那不是数据量会非常大

#2 楼 @luliangshu 能有多大,一个 discuz 10G 的数据也轻松跑得动

你能有 10G 文本数据了,说明你成功了,再找点钱,别用 Ruby 了,直接从马云那挖点搞 Java 的人重写一遍就行了。

@Peter 我更新了下问题 这样是否可行。

#4 楼 @luliangshu 采用 @Peter 的方案即可。不用这样取巧。一个表在几千万数据时处理有好的索引也基本无压力。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号