Giter VIP home page Giter VIP logo

onedb's Introduction

Welcome to OneDB

OneDB is an experimental database for AscEmu. Feel free to share your thoughts with us.

About OneDB

Since AscEmu supports multiple versions on its repo, it was open how we deliver the necessary data for the different versions. AscEmu has not enough people to work on several databases. It is difficult to implement a proper versioning and implement automatic DB updates for all versions in a maintainable way. So we try to achieve to put all data in one database (AscEmu is already working this way with the core).

How does it work?

Most tables require something to determine if the data is for the current version or not. AscEmu already uses the client build number for its version specific code so we use it for the database too.

Where does the data come from?

There is barely any information about data changes. Some of this information can be found on Wowhead/WoWWiki but most of it can be found in the patch notes. If you are into reading old notes and wiki pages, this is the right place for you.

Additional fields

We have to change the table structures with one/two extra keys named build or min/max_build. These new columns can be used by AscEmu to load the correct data for the chosen AEVersion. The "build" field has to be <= than the current AE Version or the Server version has to be between min/max_build.

Column "build" (AEVersion)

To simplify some work, we could just use the available AEVersion build number in this field:

5875 Classic
8606 TBC
12340 WotLK
15595 Cata

Column "build" (Version)

The build number from the patch the data was originally changed.

Columns "min_build" & "max_build"

The build numbers (from min_build to max_build) the data is valid.

What does this mean for me?

Sounds good you may think, but what does this really mean for you?

Updates for everyone

Everyone will receive all updates for all versions no matter if they need them or not. Sounds not good to you? Imagine switching your Server to a newer version simply by compiling AscEmu with a new version.

Structures are always the same

We can not change structures for the tables. So if you ever tried to switch to a newer version (e.g. tbc to wotlk) you know that separated databases mostly change structures. The bright side is, we will always have one structure for all version, so unknown/different columns in the wiki is a thing of the past.

Database development with a history

The build is key... I mean history is key. We link data to a build number and with that, we know exactly when the data changed. We will be able to compare old and new data which will help us when we work with it.

Issues?

Please create new issue reports in our main project AscEmu/AscEmu.

onedb's People

Contributors

zyres avatar appled avatar razfury avatar schnek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.