That's honestly probably as good as it is going to get. The database is pretty hard coded, and it is also capped at 999 total items (unless you use a limit breaker). So what would you want your game to do if someone tries to make item #1000? It has to go somewhere. Do you want it to wipe out an existing item? That could easily crash the game. Or, just picture the mess if your weakest sword (weapon #1) suddenly got replaced by Awesome Sword of Doom (which is your new crafted item)? But, that new item and recipe has to go somewhere in the database.
What you might want to consider is a script to randomize the stats of your items (a couple of those exist). Combine that with a crafting script and it should work reasonably well.