ruby-on-rails – 库存管理:如何处理数据库中已售出的库存单位?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 库存管理:如何处理数据库中已售出的库存单位?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我卖酒.所以我有一个瓶子的清单.到目前为止,我有一个“InventoryUnit”模型,它引用了product和line_item.

>每个瓶子应该作为单个InventoryUnit对象存储在我的数据库中吗?
>减少库存的最佳做法是什么?如果我卖瓶子,我会销毁一个InventoryUnit吗?或者我应该添加一个可以“出售”或“有库存”的状态列?
>我担心性能,Postgres可以处理数十万个InventoryUnit对象吗?

我真的很感激这方面的一些帮助.对不起,我是一个前端人员,所以我真的很厌倦数据库建模……

解决方法

One. should every single bottle be stored as an individual InventoryUnit object in my database?

如果您可以单独出售,那么是,否则通过案例/框跟踪它们.

Two. what’s the best practice to decrease my inventory? if i sell a bottle,do i destroy an InventoryUnit? or should i just add a
status-column that can be “sold” or “in-stock”?

使用位置和移动的概念(移动应该是它自己的实体).例如,OpenERP使用与此类似的“虚拟位置”.

瓶子坏了?将其从库存位置移至“已损坏”位置
瓶子不见了?将其从库存移至“以太”位置
发现一个随机的瓶子?将其从“以太”移至库存
卖了一瓶?将其从库存移至“已售出”
买了一瓶?将其从购买转移到库存

Three. i’m worried for performance,can Postgres handle hundreds of thousands of InventoryUnit objects?

Postgres可以处理数千亿个对象.正常化.使用小数据类型.使用索引.

要记住的其他一些事情:

>你可以卖东西,它会被退回,然后你把它放回库存中
>你可以买东西,但这不对,所以你把它寄回卖家
>你可以出售你不拥有的东西(寄售,或者不在库存中)
>您可能在库存中有一些目前尚未出售的东西.

对于会计库存,您还需要根据免费的FOB状态计算您负责的入库和出库货物的货物.

你需要计算原料(DIY酿酒的东西吗?),如果你制作/组装任何东西,以及订购费用等,还在进行中.

寄售商品不计入会计库存.

猜你在找的Ruby相关文章