Here's some questions to help understand what your needs are:
1) Is the game text-based, 2D, or 3D?
2) As far as the player's equipment goes:
A) Does the player have a list of all Buckets he owns?
B) Does the player only "have" the latest/best bucket he's purchased?
C) Is the player's buckets mingled in a single inventory with all his other equipment?
3) After getting a new boat, is there any reason why you'd want to switch back to a previous boat?
1) It is a 2D game. The items that the player has will have instant effect as there will be no place to hold the items. I could make it so the player can visit the store to swap out previously bought items for no cost.
2,A) He will not have a list as bucket upgrades are direct and provide no trade off, so there would be no reason to switch to an older one.
2,B) He will have the latest bucket he purchased.
2,C) The bucket is not in any inventory. The inventory is meant to hold just caught fish.
3) I am currently unsure if there will be a point of switching, but I'm going to say there will be no reason to downgrade as new boats will always be direct upgrades.
Also I'm starting to understand the idea behind having different classes that hold the item's data. I actually think I was somewhat starting to develop that when I was first trying to make the store.