我是网络开发的新手,如果这是一个基本问题,我道歉。我正在为在RoR中完成的拍卖网站选择最合适的策略寻求建议。
用户可以创建在特定时间段内处于活动状态的拍卖。每次拍卖都应该有相应的数据库表,一个用于一般细节(即创建它的用户,到期时间)和另一个持有每个出价的表。 出价表更多用于记录保存 我对数据库一无所知,并假设有多个出价表,每次出价多次拍卖都可能使系统超载,所以一旦拍卖到期,我想导出出价表的记录并删除它。
如果这是最好的方法,这是我的疑点
非常感谢所有帮助。
答案 0 :(得分:2)
我还没有看到动态创建的数据库表 - 它肯定不常见。
更典型的是制作单个出价表并为每个出价记录存储auction_id
。您可以使用has_many
和belongs_to
将竞价与其竞价列表相关联。
然后,当竞价过期时,您会找到auction.bids
的所有出价并对其运行导出功能。例如,
require 'yaml' # you could also dump as txt, json, csv, etc
def export(auction_id)
Auction.find(auction_id).bids.each do |bid|
File.open("bids_backup", "a") do |f|
f.puts YAML.dump(bid.attributes)
end
bid.destroy
end
end
请注意,如果您要部署到Heroku,则必须略微更改此导出功能,因为它们具有只读文件系统。