Jump to content

Upgrade from IPB 3.4.x


Recommended Posts

Hello,

During upgrade, I am getting below error:

Unknown column 'word_plugin' in 'field list'
/home/xxx/public_html/forums/system/Lang/Lang.php::350

REPLACE INTO `core_sys_lang_words` ( `lang_id`, `word_app`, `word_plugin`, `word_key`, `word_default`, `word_custom`, `word_js`, `word_export` ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )

Help please on how to fix it? Thanks

Update: I added the column manually but now i get this:

Field 'word_pack' doesn't have a default value
/home/xxx/public_html/forums/system/Lang/Lang.php::350

REPLACE INTO `core_sys_lang_words` ( `lang_id`, `word_app`, `word_plugin`, `word_key`, `word_default`, `word_custom`, `word_js`, `word_export` ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )

Edited by AlexJ
Link to comment
Share on other sites

I removed the word_pack column... but then now i get below error:

Can't find file: './xxx/members.frm' (errno: 2 - No such file or directory)
/home/xxxx/public_html/forums/applications/core/setup/upg_40000/upgrade.php::42

Is upgrader tested i.e. going from IPS 3.4.x to 4.7.6 latest version? I got a lot of missing table errors which i am adding manually.. from my another site.

But getting tired of missing columns, tables, etc. 

At this point, I am stuck since, I have no idea how to fix this error!

Edited by AlexJ
Link to comment
Share on other sites

FYI: It seems, I have members table in IPS 3.4.x but new version looks for core_members. It didn't existed, so i added it.. will it transfer old members to new one? 

For now, i have pointed website to older version, so users can use it. Also tables like core_notifications don't exist. Shouldn't upgrade script create it by itself? I found at least 5-8 tables, it didn't create. 

Link to comment
Share on other sites

3 hours ago, AlexJ said:

FYI: It seems, I have members table in IPS 3.4.x but new version looks for core_members. It didn't existed, so i added it.. will it transfer old members to new one? 

For now, i have pointed website to older version, so users can use it. Also tables like core_notifications don't exist. Shouldn't upgrade script create it by itself? I found at least 5-8 tables, it didn't create. 

The upgrader should add them automatically. Did you upgrade directly to the latest version,  4.7.6? Can you try to first upgrade your forum to the latest version of the 3.4. series and then to  4.7.6?

Link to comment
Share on other sites

It sounds like there is an issue creating these columns/tables in your database, you may wish to investigate that.

However, I am very sorry, but version 3.x is no longer supported, including upgrades. I have moved this topic to our community support forum so you can receive assistance from other administrators. 

Link to comment
Share on other sites

3 hours ago, Miss_B said:

The upgrader should add them automatically. Did you upgrade directly to the latest version,  4.7.6? Can you try to first upgrade your forum to the latest version of the 3.4. series and then to  4.7.6?

I am on version 3.4.9. I am not sure if that is latest or not. How to get latest 3.4.x version? Thank you.

1 hour ago, Jim M said:

It sounds like there is an issue creating these columns/tables in your database, you may wish to investigate that.

However, I am very sorry, but version 3.x is no longer supported, including upgrades. I have moved this topic to our community support forum so you can receive assistance from other administrators. 

I am not asking for 3.x support. I am asking for 4.7.6 which you should officially support or else people can not upgrade. 

It's IPS code and should handle the upgrades. If you are not going to support 4.7.6 upgrade, who will? This doesn't make any sense.

You are quick to tell not a IPS problem. 

Edited by AlexJ
Link to comment
Share on other sites

1 hour ago, AlexJ said:

I am on version 3.4.9. I am not sure if that is latest or not. How to get latest 3.4.x version? Thank you.

I am not sure either about it being the last version of the 3.4.x series or not. 

Regarding the error that you posted above:

9 hours ago, AlexJ said:

Field 'word_pack' doesn't have a default value

If you run into it again, the best way to go about it is to assign a default value (usually NULL) to the database column mentioned in the error message. That should fix the issue.

Edited by Miss_B
Link to comment
Share on other sites

9 hours ago, AlexJ said:

Can't find file: './xxx/members.frm' (errno: 2 - No such file or directory)
/home/xxxx/public_html/forums/applications/core/setup/upg_40000/upgrade.php::42

@Miss_B  This is the error, which I am stuck on. Any thoughts on how to fix it? 

 

 

Link to comment
Share on other sites

4 minutes ago, AlexJ said:

@Miss_B  This is the error, which I am stuck on. Any thoughts on how to fix it? 

 

As mentioned previously, it looks like the upgrader can't find the members table. If I were you, I would try to start the upgrade again.

A word of advice, if I may, make first a duplication of your live forum to a test forum and then upgrade the test forum first to see how things will go. Like that you can take all the time to troubleshoot the errors that might pop up without disrupting the main forum. 

Once the test forum has bene upgraded propery, you can proceed with upgrading the main forum. 

Hope it helps and good luck. 

Link to comment
Share on other sites

39 minutes ago, Miss_B said:

A word of advice, if I may, make first a duplication of your live forum to a test forum and then upgrade the test forum first to see how things will go. Like that you can take all the time to troubleshoot the errors that might pop up without disrupting the main forum. 

 

I don't have much active users - may be 100.. or so as it's gaming mod support forum. I agree. Doing this on new VPS for testing using A records, so i can switch quickly... or else, I will run into another hassle of URL's. So try to avoid that. Thank you.

40 minutes ago, Miss_B said:

As mentioned previously, it looks like the upgrader can't find the members table. If I were you, I would try to start the upgrade again.

 

Why it's looking for members table? Initially during upgrade, I believe it converted members table to core_members. 

IPS 3.4.9 - i have members table

During upgrade -> members to core_members

My other forum on latest IPS version doesn't have members table either. 

It seems like IPS upgrade is converting members to core_members and then complaining for members table doesn't exist? How to fix this error? 

Link to comment
Share on other sites

If the upgrader was trying to load a table that doesn't exist the error would be different (Something like "Table XXX doesn't exist"). That error is instead telling you that whatever table the upgrader is trying to load exists in your database, but the file for it on your server doesn't exist. It could also be that the table is crashed and needs to be repaired.

Anyway, I usually never see such errors when I do legacy upgrades from 3.4. This makes me think your database (or mysql server) already had some errors before the upgrade even started.

 

With all your posts so far the situation looks really bad. I suggest you restore a backup, double-check all tables are working (nothing crashed, etc.) and then restart the upgrade from scratch.

 

===

EDIT

I had a look at the code since your error includes the file and line:

\IPS\Db::i()->renameTable( 'members', 'core_members' );

It is actually failing when trying to rename the members table to core_members. So yes, you indeed have some kind of error with the members table in your 3.4 database. Some possible issues that come to mind:

  1. The table is crashed and you need to repair it.
  2. The table is locked / can't be accessed because your server has run out of space. (I actually hit this issue in a recent upgrade.)
  3. For whatever reason the table's file was deleted directly from the server (rather than deleting the the table from the database) and that's why you're getting that error.
Edited by teraßyte
Link to comment
Share on other sites

15 minutes ago, teraßyte said:

That page might not show if a table is crashed. The best way would be to check from phpMyAdmin (or a similar script) and eventually run also a REPAIR on all tables just in case. If everything is okay nothing will change, if something's broken with the files it will tell you exactly what.

Thanks. Did below and so far all came back as OK except session table because it's memory engine based. Had followed bfarber advice and move session to memory while back.  

--auto-repair --check --all-databases

I have 2 question:

1. Can i delete cache folder before upgrade starts? 

2. I have below in config..  I am thinking to remove xcache line.. anything else, which you think can cause issue and I can remove it? Do note: Dedicated server - runs other 2 IPS forum on 4.7.6 - without any issue. 

IPS 3.4.9 server:

mysql -V
mysql  Ver 14.14 Distrib 5.7.39, for Linux (x86_64) using  EditLine wrapper
 

IPS 4.7.6 server with other 2 IPS forum on latest version:

 mysql -V
mysql  Ver 14.14 Distrib 5.7.40, for Linux (x86_64) using  EditLine wrapper

php -v
PHP 8.1.14 (cli) (built: Jan  7 2023 08:31:12) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.14, Copyright (c), by Zend Technologies
 

<?php
ini_set('display_errors', '1');
$INFO['sql_driver']			=	'mysql';
$INFO['sql_host']			=	'localhost';
$INFO['sql_database']			=	'xx';
$INFO['sql_user']			=	'xx';
$INFO['sql_pass']			=	'xxx';
$INFO['sql_tbl_prefix']			=	'';
$INFO['sql_debug']			=	'0';
$INFO['sql_charset']			=	'';
$INFO['board_start']			=	'1282706691';
$INFO['installed']			=	'1';
$INFO['php_ext']			=	'php';
$INFO['safe_mode']			=	'0';
$INFO['board_url']			=	'https://site.com/forums';
$INFO['banned_group']			=	'5';
$INFO['admin_group']			=	'4';
$INFO['guest_group']			=	'2';
$INFO['member_group']			=	'3';
$INFO['auth_group']			=	'1';
$INFO['use_friendly_urls']			=	'1';
$INFO['_jsDebug']			=	'0';
$INFO['mysql_tbl_type']			=	'MyISAM';
$INFO['use_xcache'] = '1';
define('IN_DEV', 0);
define( 'CCS_PAGE_TITLE_RECORD', '{record_name} - {category_name} - {board_name}' );
?>

 

Post migration, I will convert MyISAM to InnoDB but don't want to change now to avoid any issues if that's ok. 

Edited by AlexJ
Link to comment
Share on other sites

@teraßyte - Tried to restart as suggested but no luck. 

This time, I did extra step.. i.e. converted MyISAM to INNoDB before converstion starts. UTF8 Conversion happens successfully. 

But during upgrade, first error same as last time:

Could contain: File, Webpage

I checked and core_ratings doesn't exist in IPS 3.4.9 version. Question is why upgrade is trying to REPLACE INTO - non existent tables? Should it not create tables first? 

I checked DB user permissions as well and it seems, it has all permission? Am I missing something? Thanks

SHOW GRANTS FOR 'user'@'localhost';

+------------------------------------------------------------------------------+
| Grants for user@localhost                                           |
+------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `database`.* TO 'user'@'localhost'      |
+------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
 

 

Edited by AlexJ
Link to comment
Share on other sites

Hmm, that's a new/different error compared to your previous attempt. Or did you also get it before but didn't post it?

 

Thinking about it I've usually done upgrades from 3.x using PHP 7.4 until recently. In another topic recently someone else encountered an issue with gallery and calendar because of stricter errors with PHP 8. I wonder if you're also hitting these errors because of the switch to PHP 8.

I doubt IPS tested an upgrade from 3.x to 4.7 using PHP 8 at least. 🙄

===

I had a look at the file and in this particular case this is the upgrade step to 4.0.0 for the forums application, while the table throwing an error (core_ratings) should have been added by the upgrade step in the core application.

 

The code is either upgrading the forums application before the core one for some reason, or the previous upgrade step failed to properly create the table.

Link to comment
Share on other sites

Just now, teraßyte said:

Hmm, that's a new/different error compared to your previous attempt. Or did you also get it before but didn't post it?

 

I had got bunch of missing tables error before.. but didn't share because, I added the tables i.e. created it manually based on create script from my other vanilla style forum which doesn't have any addons. So I can proceed. 

1 minute ago, teraßyte said:

I doubt IPS tested an upgrade from 3.x to 4.7 using PHP 8 at least. 🙄

This is frustrating for me because I don't think they tested it. I would not have renewed the license if I would have known IPS wouldn't be supporting upgrade to their latest version. 

Current forum which I am trying to upgrade, has only 1 additional addon i.e. Tags and Prefixes. Rest 90% of it - it's all default. 

I will create a ticket, asking for refund for this license renewal because as a customer, it's really useless for me. 

I did tried everything, I could. For me, it's IPS product, IPS upgrade script should take care of it. If I had heavy customization, I would agree, yeah but it's all 90% default. 10% to that Tag/prefix addon from Ryan which was popular before makito started his own for IPS 4.x.

Link to comment
Share on other sites

@teraßyte Need one favor .. i checked this path:

forums/applications/forums/setup/upg_40000

queries.json

Do you see that's it's creating the table first? It seems table itself is not getting created.. Not sure it's php 8.x issue or upgrader issue. I can keep creating missing tables manually, but I will be in same boat as before i.e. stuck on members.frm ... 

 

 

Edited by AlexJ
Link to comment
Share on other sites

The core_ratings table is in the file /applications/core/setup/upg_40000/queries.json which is supposed to be executed before the forum's application upgrade step.

For some reason it seems the upgrade is not executing the queries in that file. Try having a look at it and see if the other missing table errors you had are all for tables inside it.

 

If you in case have the files for a previous version, like 4.6.12.1 (or 4.7.3; which is the latest to support PHP 7.4), I also suggest trying to upgrade to one of them using PHP 7.4 instead of PHP 8 to see if anything changes.

Edited by teraßyte
Link to comment
Share on other sites

6 hours ago, Gary said:

Hi @AlexJ,

I am just letting you know the only way to have these files are if you retained them before upgrading. We do not provide previous versions of our software, unfortunately.

How can I retain them dude when I don't even have it! I am seriously frustrated with IPS attitude of no help for the upgrade. I renewed the license to upgrade the forums... now it's like not IPS problem, so IPS got renewal fee. I renewed in good faith i.e. based on general document that IPS upgrade from 3.4.9 to latest version is supported. Their was no mention of upgrade not supported when I renewed the license. 

Upgrade script is provided by IPS. IPS 3.4.9 is latest version of previous major release and moving to 4.7.6 which is recent release. 

I am not doing something crazy here.. i.e. going from IPS 2.x or IPS 4.x or heavily modified forum to latest version. It's to near stock forum. 

After having 5 licenses with mostly all addons, for appx decade, rather then helping your customer to resolve the issue, all I am getting is, middle finger from IPS team. 

I am sorry but that's how I am feeling, no disrespect intended. If you can see in topic, I am trying everything on my end to resolve the issue and as of IPS 4.x upgrades are through admin CP. So i don't even have the new versions. 

I am just tired and frustrated dealing with IPS upgrade code issues.  I cannot believe, you can't fix your upgrade script to resolve this issues or provide help with 4.7.3 upgrade has terabyte suggested. 

 

 

 

Edited by AlexJ
Link to comment
Share on other sites

15 hours ago, AlexJ said:

How can I retain them dude when I don't even have it!

I was talking about the retention of your current files on 3.4.9, which you mentioned you are upgrading from.

I am sorry to hear you are leaving us. Please understand, you are upgrading from a version which is now quite old. We supported that for quite some time, however at some point it becomes unviable to do this. The reality is you are migrating from software that was released well over a decade ago. We provided support for this up to January 2022, which gave people a considerable amount of time for a supported migration from the 3.x versions (approximately 8 years). In this time, there have been major changes in PHP versions, MySQL releases and more.

With regard to older versions of 4.x, we don't provide old insecure releases. If you wish to upgrade, it will need to be done on the latest release. There is still a fair few who do this, so the complexity appears to be only in your own release. Sorry I could not be of more help here and I do hope that someone from our community is able to assist you should you wish to continue trying.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...