Jump to content
  • 0

How do i keep track of db changes


iltuocapo

Question

Noobie question:

I found a bug in a couple of quests (see Tracker) and I fixed them amending some fields in their Quest_template records.

I hope these will be acquired by your next release, but of course this is not guaranteed.

So I'm wondering how can I keep track of these "private" changes I'm making, in order to re-apply them easily whenever/after I apply an update coming from the cmangos distribution site?

 

Thanks for help :)
U

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

Hello, thank you for reporting the issues you are finding.

Quote

1) How exactly should I transfer my locally applied database changes to you, for them to be evaluated and possibly acquired?   I mean: I guess just "telling the long story on an unstructured message" is quite i

My suggestion that I found to be helpful when I was first starting with mangos is to do this

  1. Create a detailed bug report(As I see you have done)
  2. If you are not familiar with sql queries and structure, I would suggest when reporting fixes to these bugs to keep with a structure that's easy to read and understand. I will use the below example as a general idea and leave it up to you for what structure best works for you.
    - Table  Creature_template   needs updated with the following information  rank: 4   |  MaxLevel 34, where id = 123456
    - Table gossip_text is missing the following information......
        - IF your familiar with sql queries. You can always post them with your report.
        --  My suggested fix:   update `creature` set `map` = '0' where `guid` = '5';

    These updates and changes will be reviewed and implemented. Or if need be feedback will be given to help get from Point A to point B.
Quote

when a new update from you guys comes in, I apply it - thus overwriting my local changes

If/ when your updates make it to git as an official release, the changes you made to that specific table will be simply updated with information that is already there. (You change a flag to 123, the update will simply reapply flag 123.
 

Now the tricky part, and kind of a repeating what @ants said, if you make costume changes (You want an NPC to have 500 hp and not 10) and later on someone updates that 10 to 12, your costume change will be over written. Thus requireing you to review any future updates you apply via the official repo.  If you want to track your own custom updates that are not applied to the offical release, You can always save them in a txt file or another source that you can reference to in the future.


I hope this helps in some way.

Link to comment
Share on other sites

first off, there is no guarantee any updates from non-mangos sources will actually work !!
- Over time the originally similar db structures are changing due to the enhancements we are making

We are more than happy to accept any fixes you have applied and tested, that way you can guarantee that they will be included in the next update.

Failing that, you will need to manually review each db update before you apply it to ensure it doesn't mess up your work.

Link to comment
Share on other sites

I understand what you are saying but I doubt I conveyed my question properly. Let me repropose it, with an integration based on your answer

 

1) How exactly should I transfer my locally applied database changes to you, for them to be evaluated and possibly acquired?   I mean: I guess just "telling the long story on an unstructured message" is quite inefficient isnt it. Are you using some tool? 

2) And well, once I know which tool you use (if any) then I guess I could simply use it myself too, following a procedure like
- when a new update from you guys comes in, I apply it - thus overwriting my local changes
- I review the release notes, and remove duplicates from my local re-application log
- whatever is left, I re-apply from my log

 

So in the end I'm just looking (and asking you) for a  tracking tool for progressive db updates...

 

Ciao

U

Link to comment
Share on other sites

typically what I do is.....

1) Dump the database (I use the backupDB script in the tools folder)

2) Apply the changes

3) Dump the database again (but renaming the original dump folder first)

4) compare the old and new - Only the changes will be highlighted and these can easily be made into an update SQL Script.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use