I'm writing a browser turn-based RPG. Nearly every part of the game, including enemies, items, and levels, are rows in an SQL table corresponding to the prototype of that object. This same data is accessible in Wiki format, allowing users to edit this data freely, subject to some community regulation. However, if at this precise moment the game was live, and I was playing, and some troll decided to make the next boss's health "over 9000!", it would be devastating to my campaign, and the losses I suffered would be irreversible. With this in mind, I want to implement a sort of "release system" to the game data. Users can choose for their client to fetch data as it is updated, or to fetch data that has been reviewed and tested on the first of each month. What would be the best way to do this, (although I'm fairly sure the correct answer is "copy your database once a month")?
How can I get data from an SQL database, as it was at a specfic point in time?
47 Views Asked by Griffin Young At
1
There are 1 best solutions below
Related Questions in SQL
- SQL schema for a fill-in-the-blank exercise
- Hibernate: JOIN inheritance question - why the need for two left joins
- What's supposed to be the problem in this query?
- Compare fields in two tables
- How to change woocomerce or full wordpress currency with value from USD to AUD
- Dynamic query creation with Array like implementation
- SQL query to get student enrolled in this month in a course - Moodle
- SQL LAG() function returning 0 for every row despite available previous rows
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Use row values from another table to select them as columns and establish relations between them (pivot table)
- SQL: Generate combination table based on source and destination column from same table
- how to use system's environnement variables in sql script
- PHP fetchAll on JOIN
- Multitable joining in Sql
- How to display name starting from 'z' by using BETWEEN cmd only?
Related Questions in WIKI
- Adding an audio file to GitHub's ticket or wiki
- How to automate deleting existing content on wiki in python script?
- How to get a snapshot of a Jira filter in Wiki
- How to delete content in ADO wiki page
- VuePress 2 Redirects
- Publishing release notes to Wiki during build in ADO pipeline
- How to position images in OSF (Open Science Framework)?
- Remove rows in a Wiki template, if variable not used
- How to process large xml downloaded from wikitionary
- Linking to a page with a dash (hyphen) in the title In GitHub wiki
- Symfony bundle to create wiki pages
- Browsing Azure wiki from desktop application
- How can find the Etag in a DevOps Wiki Page using C#
- Where to place summary & UML diagrams in a GitHub repository?
- Make left and right panels to be fixed and not scrolled with the main page in xwiki
Related Questions in CONTENT-MANAGEMENT
- Creating a 3-Level Hierarchical Sanity.io Schema for Efficient Content Management
- Does Moqui support saving content in Apache Jackrabbit / Viewing Content History / Checkout / Checkin
- Unable to parse data from database with locale data
- HTML, JS: Using very large data-attributes to store content?
- Display Allowed child node of Different Doccument Types in Umbraco
- How can I get data from an SQL database, as it was at a specfic point in time?
- Content Management in Bluemix
- Add and remove Ektron content items from taxonomies? (C#)
- Showing category content with sub categories content
- EPiServer migrate content from home grown CMS
- How to Exclude Category Posts in WordPress Main Blog page?
- How to store and manage singular data in Rails?
- Linking to Anchors within Content Switch Container
- Working with WebCenter Content UCM workflow
- Managing large multilingual text blocks in Rails
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
For your purpose, you want to place a boolean column in your tables "tested" and depending on what mode you are playing in, request either the value for which "tested" is true, or the value for which "tested" is false.
Changes to the values should be stored in their own tables, which are added to the directly accessed values for which "tested" is false. Once a month, the testing reviews these changes and decides which ones should stay. Then the changes may be cleaned if you envision the update process you described to be permanent.