WAFFO
WAFFO

Reputation: 60

Updated Azerothcore, now it can't start. MySQL Errors "Unknown column 'innTriggerId' in 'field list'"

Following the instructions from here: https://www.azerothcore.org/wiki/linux-keeping-the-server-up-to-date
And here: https://www.azerothcore.org/wiki/database-keeping-the-server-up-to-date

I pulled, recompiled, and double checked that my worldserver.conf had

Updates.EnableDatabases = 7

Then I ran worldserver.

It listed a lot of files were applied to the database, but that they are missing from the directory now.

Each database says that they are up-to-date

>> Auth database is up-to-date! Containing 0 new and 8 archived updates.
...
>> Character database is up-to-date! Containing 0 new and 14 archived updates.
...
>> World database is up-to-date! Containing 0 new and 702 archived updates.

However immediately after mysql errors pop up:

In mysql_stmt_prepare() id: 34, sql: "SELECT guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, bankSlots, restState, playerFlags, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, instance_mode_mask, arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk, health, power1, power2, power3, power4, power5, power6, power7, instance_id, talentGroupsCount, activeTalentGroup, exploredZones, equipmentCache, ammoId, knownTitles, actionBars, grantableLevels, innTriggerId FROM characters WHERE guid = ?"
Unknown column 'innTriggerId' in 'field list'
In mysql_stmt_prepare() id: 54, sql: "SELECT spell, category, item, time, needSend FROM character_spell_cooldown WHERE guid = ?"
Unknown column 'category' in 'field list'
In mysql_stmt_prepare() id: 216, sql: "INSERT INTO characters (guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, bankSlots, restState, playerFlags, map, instance_id, instance_mode_mask, position_x, position_y, position_z, orientation, trans_x, trans_y, trans_z, trans_o, transguid, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, extra_flags, stable_slots, at_login, zone, death_expire_time, taxi_path, arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk, health, power1, power2, power3, power4, power5, power6, power7, latency, talentGroupsCount, activeTalentGroup, exploredZones, equipmentCache, ammoId, knownTitles, actionBars, grantableLevels, innTriggerId) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
Unknown column 'innTriggerId' in 'field list'
In mysql_stmt_prepare() id: 217, sql: "UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,skin=?,face=?,hairStyle=?,hairColor=?,facialStyle=?,bankSlots=?,restState=?,playerFlags=?,map=?,instance_id=?,instance_mode_mask=?,position_x=?,position_y=?,position_z=?,orientation=?,trans_x=?,trans_y=?,trans_z=?,trans_o=?,transguid=?,taximask=?,cinematic=?,totaltime=?,leveltime=?,rest_bonus=?,logout_time=?,is_logout_resting=?,resettalents_cost=?,resettalents_time=?,extra_flags=?,stable_slots=?,at_login=?,zone=?,death_expire_time=?,taxi_path=?,arenaPoints=?,totalHonorPoints=?,todayHonorPoints=?,yesterdayHonorPoints=?,totalKills=?,todayKills=?,yesterdayKills=?,chosenTitle=?,knownCurrencies=?,watchedFaction=?,drunk=?,health=?,power1=?,power2=?,power3=?,power4=?,power5=?,power6=?,power7=?,latency=?,talentGroupsCount=?,activeTalentGroup=?,exploredZones=?,equipmentCache=?,ammoId=?,knownTitles=?,actionBars=?,grantableLevels=?,innTriggerId=?,online=? WHERE guid=?"
Unknown column 'innTriggerId' in 'field list'
In mysql_stmt_prepare() id: 428, sql: "DELETE FROM item_loot_storage WHERE containerGUID = ? AND itemid = ? AND count = ? AND item_index = ? LIMIT 1"
Unknown column 'item_index' in 'where clause'
In mysql_stmt_prepare() id: 429, sql: "INSERT INTO item_loot_storage (containerGUID, itemid, item_index, count, randomPropertyId, randomSuffix, follow_loot_rules, freeforall, is_blocked, is_counted, is_underthreshold, needs_quest, conditionLootId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
Unknown column 'item_index' in 'field list'
In mysql_stmt_prepare() id: 396, sql: "SELECT spell, category, time FROM pet_spell_cooldown WHERE guid = ?"
Unknown column 'category' in 'field list'
In mysql_stmt_prepare() id: 399, sql: "INSERT INTO pet_spell_cooldown (guid, spell, category, time) VALUES (?, ?, ?, ?)"

Full output paste: https://pastebin.com/tHeTNVbW

I tried using the db_assembler tool too, but I still get the same output when I try to start the server.

Is there a step I am missing? Thank you!

Upvotes: 1

Views: 997

Answers (2)

Winfidonarleyan
Winfidonarleyan

Reputation: 56

  1. Need checkout to commit - https://github.com/azerothcore/azerothcore-wotlk/commit/9e3949232cc0ad1703eb4b8bba66dd54b4246ceb
  2. Startup core with DB auto-updates (Updates.EnableDatabases inside worldserver.conf)
  3. Checkout to HEAD
  4. Startup core again

Upvotes: 2

WAFFO
WAFFO

Reputation: 60

This isn't a great solution, because I'm still getting errors that give me the impression that some world objects and scripts from recent updates don't work.

I went to the Azerothcore github and manually searched for the fields that were marked as missing in the mysql errors. I then copied those lines (such as 'ALTER TABLE...') and any subsequent updates/inserts to my mysql Workbench client where I ran all these updates manually until the damn thing started.

I ended up with something like this:

use acore_characters;
ALTER TABLE `characters` ADD COLUMN `innTriggerId` INT UNSIGNED NOT NULL AFTER `deleteDate`;
ALTER TABLE `character_spell_cooldown` ADD COLUMN `category` MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL AFTER `spell`;
etc...

full paste: https://pastebin.com/bkLnYmys
(note: this was exactly what I needed to run, it will most likely be different for you)

It's temporary, but obviously I would rather have everything working. At this point I think my best option is to start fresh and manually import all character data manually.

Upvotes: 0

Related Questions