Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-04-2008, 11:52 AM
quadroplex
Banned
 
Join Date: May 2008
Location: Reno baby YEAH LOL
Posts: 123
Default

not if you do it then backup the table when your done with a simple where x = 'y' type of statement its not hard to backup things in mysql. I use fancy tools and ingame commands but I have current backups of everything I change, as long as you know the id or the name you can easily backup the information, even if you dont, you can just backup the entire table and restore it after you upgrade
Reply With Quote
  #2  
Old 06-04-2008, 12:00 PM
TheLieka
Developer
 
Join Date: Oct 2004
Location: THE ATL (wut wut)
Posts: 325
Default

Hindsight is 20/20, I suppose. We've had this problem as well in the past. We make our customizations with no intention of ever merging with another database, then suddenly - omg, something new and wonderful gets released in PEQ, so we have to go back and figure out what we've got vs what they've got - it's enough to make your head spin. For the record, we never we able to find an elegant way to do it.

If you turn on logging with the PEQ Editor, and only make your database modifications through it - it will generate a log file with all of the SQL statements for the changes that you make. If you don't have those logs though - I don't have any clue how to do it with the currently available tools.

Dax
__________________
Daxum



Former ServerOp - Vallon Zek / Tallon Zek Emu Server - Legit / Guild PvP - (2007 - 2011 RIP)
Reply With Quote
  #3  
Old 06-06-2008, 12:18 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

You could enable the general query log in MySQL when modifying the DB and then parse the INSERT, UPDATE and DELETE queries out.
Reply With Quote
  #4  
Old 06-06-2008, 04:55 AM
eq4me
Hill Giant
 
Join Date: Jul 2006
Posts: 166
Default

I goggled phpsqldiff. Seems pretty nice at first glance.

Otherwise you could give the old fashioned programmers way a try:

To attempt to patch your modified DB to the latest and greatest PEQ release I would try the following:
Make yourself familiar with the GNU patch and diff commands. These are available under Unix/Linux and Cygwin.
Install the PEQ release your modifications are based on into a different database anf dump it. It's crucial that every line of the dump has the INSERT command. Even so you might stumble over CREATE TABLE parts(that's why I recommend setting at least -u20 for the diff command)
Install the newest PEQ release into another database anf dump it too.
Diff the two dumps to make a patch file.
Check the patch file for any rule changes that might have impact on your server.
Dump your customized DB and try to apply the generated patch file on it.

Of course you could also make an diff of your modified database to the one it is based on and try to apply it to a recent release. But you'd have to worry about your user tables.
Once again, this is just I would try and will certainly need quite some editing on the resulting patch. Maybe it would be simpler do a diff per table and not the whole database.

Btw.: I had a chat with our resident database guru and he said to turn on logging for the relevant tables. To do that under MySQL you have to use a trick since you only can enable logging on whole databases(-> major performance impact). I might not have understood it correctly cause he has an heavy russian accent, but I think me meant symlinking/linking the relevant tables into another database.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:17 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3