Wow a few fun days! I know that the downtime went longer than we anticipated, and that sucks. It sucks for you, and it sucked for me staying up 24 hours to watch it to make sure it didn't crash again ????. However, we're on the other side of that now, and I've been spending my time rewriting the way that Subeta interacts with it's database. A lot of the problems that have come up since we moved comes from moving to a newer database engine, and a newer version of PHP, from the deprecated ones we were using before. These newer versions place extra limits on what kind of "old" things can be run to increase speed, security, and error logging.
Unfortunately, a bulk of Subeta was written 15 years ago, even with pieces of it being rewritten every month. The 'core' of the site is database.php, a giant class that handles all database connections on Subeta that have been written in the last 15 years. There was work from me & alx about 8 (???) years ago to modernize it then, but a lot of the site still used the old functions.
With the move to laravel for our API (wardrobe, some parts of the forums, etc) and using a query builder for newer parts of this site, we've been writing new, performant MySQL queries that are easier to track and debug. I've spent the last little while rewriting database.php from the ground up, analyzing our old queries and routing them to the modern query builder. This has mostly been a success, but I need more testing on the site to make sure that it's working 100%.
This resolves a lot of our problems. Right now we're connecting to the database twice to run both of these, and with this change we need one database connection per page. That alone will speed up the site 2x. Running queries through the query builder also means we'll have improved analytics and details on how those queries are being run, making it easier for us to tweak queries to speed up the site. It also fixes a lot of things like our current apostrophe problem, and just lots of weird quirks.
If you feel comfortable, check out the instructions at the bottom of this post. WARNING: YOU COULD LOSE ITEMS OR OTHER THINGS YOU TRY TO MOVE so be careful not to try to put a custom item in your shop. For the most part I've already fixed all of these bugs, but you never know.
Instructions
Things this does not cover:
THANK YOU!
💖 ✨ 🤗
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '596290-23' for key 'usermedal' (SQL: insert into user_medals (userid, medalid) values (596290, 23))
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '252073-23' for key 'usermedal' (SQL: insert into user_medals (userid, medalid) values (252073, 23))
Blank page result, this was an attempt to move a rainbow star rod from Item Box to my shop Zymurgic Syzigies. There already were some there, so I don't know if it failed to transfer or not, but it's no longer in Inventory. Moving Orange Juice in regular site does not result in a blank page, so this is not broken on Subeta main.
https://database.subeta.net/item.php?act=newshop&itemid=3017965817&shopid=8212
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'wizard-20191113' for key 'unique' (SQL: insert into quests_daily (quest_id, date) values (wizard, 20191113))
Was buying a seed from Seedlings, got a notif for the usual discount (that also showed up here) but:
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '698968-23' for key 'usermedal' (SQL: insert into user_medals (userid, medalid) values (698968, 23))
Pushing out a fix for the medal code!
💖 ✨ 🤗
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '449780-23' for key 'usermedal' (SQL: insert into user_medals (userid, medalid) values (449780, 23))
https://database.subeta.net/shop.php?shopid=6
When purchasing from a shop.
[img align=right]http://i1310.photobucket.com/albums/s659/onewingedpsycho/snowflake_zps967f1623.png[/img]
Art by Snowflake <3
[kiss=#onewingedangel]
To all the beautiful rats who forever left their footprints on my heart - Run free, you were loved. Ollie, Lily, Cas, Ragnar, Snart, Rory, Barry, Cisco, Diggle and HR ❤
Chrome OS and Browser.
This is a blank page result that only happens after 'add to shop' in quickstock, but not in 'add to wardrobe' or 'add to collection'. This doesn't happen in subeta.net.
'organize items' link in wardrobe and 'return to subeta' pages both link to the OG site, not database jsyk
Database error - send this to Keith: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' medalid='23'' at line 1 (SQL: SELECT * FROM user_medals WHERE userid='700276', medalid='23')
This was on https://database.subeta.net/shop.php?shopid=14 when I tried to buy something
Was in the Database version, tried to restock from Defend and Conquer and got this instead:
MySQL error, please report this on the forums: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '696656-23' for key 'usermedal' (SQL: insert into user_medals (userid, medalid) values (696656, 23))
(Using newest version of Chrome. btw when I'm on the database version it says "Not secure" to the left of the url)
Pushing out a fix now for the quickstock issue, and the issue had
💖 ✨ 🤗
Buying from Icy Goods.
Database error - send this to Keith: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' medalid='23'' at line 1 (SQL: SELECT * FROM user_medals WHERE userid='670601', medalid='23')
useful threadsThe Giant List of Usability and Random Improvement 2.0 Comprehensive Guide to Battle Opponents (v2) [topic not found]
|
[topic not found] |
When I accept a trade on the database server, it reloads the page like the trade was accepted, but then I go look at trades and the trade and offer are still there.
When I accept a trade on subeta.net, I get
When I try to decline a trade on subeta.net, I get
I am entirely unable to accept trades, on subeta.net or the database server. I can decline a trade, but it does not bring up an event for the other person.
Chrome OS and Browser
This is attempting to get into my shop Zymurgic Syzigies
Database error - send this to Keith: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1 (SQL: SELECT userid, frozen FROM user WHERE userid IN ())
Can you make an offer on my trade so i can try it out?
💖 ✨ 🤗
I offered on your trade :)
Database error - send this to Keith: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1 (SQL: SELECT userid, frozen FROM user WHERE userid IN ())