I am moving my system from Windows Linux.
I just noticed that Openfire uses table names that are in camel case ie not all lower case. I copied across my Windows database but Openfire ignored the tables and created new ones so it obviously is using the tables in mixed case internally.
I could set MySQL to force all lower case but it is not recommended as it may break other aplications. To be honest anyone who writes an application that uses tables with the same names and differing case is just plain nuts but it’s a strange world sometimes.
The only fix I can come up with is to get the current Openfire schema and write some SQL to rename the tables to the correct camel case names using the forced lowercase names as the source. Before I start this task has anyone actually done it? If not then I will submit the SQL here later on.
I can honestly say that this is the first time I have come across anyone using anything but all lower case MySQL table names. But someone has to be first.
If you are migrating from Windows to Linux then copy the database over to Linux and then run the SQL below. Start up openfire and it works just as it did before.
Note: If you do not rename the tables then Openfire doesn’t complain. What does happen is the log in fails to work even with your previous admin password.
Here is the SQL. Not all tables are camelcase so they are not altered.
Rename tables from lowercase Windows to camelcase Linux
Here the table is called messaging.
RENAME TABLE ofextcomponentconf TO ofExtComponentConf;
RENAME TABLE ofgroup TO ofGroup;
RENAME TABLE ofgroupprop TO ofGroupProp;
RENAME TABLE ofgroupuser TO ofGroupUser;
RENAME TABLE ofid TO ofID;
RENAME TABLE ofmucaffiliation TO ofMucAffiliation;
RENAME TABLE ofmucconversationlog TO ofMucConversationLog;
RENAME TABLE ofmucmember TO ofMucMember;
RENAME TABLE ofmucroom TO ofMucRoom;
RENAME TABLE ofmucroomprop TO ofMucRoomProp;
RENAME TABLE ofmucservice TO ofMucService;
RENAME TABLE ofmucserviceprop TO ofMucServiceProp;
RENAME TABLE ofoffline TO ofOffline;
RENAME TABLE ofpresence TO ofPresence;
RENAME TABLE ofprivacylist TO ofPrivacyList;
RENAME TABLE ofprivate TO ofPrivate;
RENAME TABLE ofproperty TO ofProperty;
RENAME TABLE ofpubsubaffiliation TO ofPubsubAffiliation;
RENAME TABLE ofpubsubdefaultconf TO ofPubsubDefaultConf;
RENAME TABLE ofpubsubitem TO ofPubsubItem;
RENAME TABLE ofpubsubnode TO ofPubsubNode;
RENAME TABLE ofpubsubnodegroups TO ofPubsubNodeGroups;
RENAME TABLE ofpubsubnodejids TO ofPubsubNodeJIDs;
RENAME TABLE ofpubsubsubscription TO ofPubsubSubscription;
RENAME TABLE ofremoteserverconf TO ofRemoteServerConf;
RENAME TABLE ofroster TO ofRoster;
RENAME TABLE ofrostergroups TO ofRosterGroups;
RENAME TABLE ofsaslauthorized TO ofSASLAuthorized;
RENAME TABLE ofsecurityauditlog TO ofSecurityAuditLog;
RENAME TABLE ofuser TO ofUser;
RENAME TABLE ofuserflag TO ofUserFlag;
RENAME TABLE ofuserprop TO ofUserProp;
RENAME TABLE ofvcard TO ofVCard;
RENAME TABLE ofversion TO ofVersion;
Message was edited by: David Goadby.