VirtueMart Forum

VirtueMart 2 + 3 + 4 => Virtuemart Development and bug reports => Topic started by: jordantsap on April 21, 2019, 20:31:53 PM

Title: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: jordantsap on April 21, 2019, 20:31:53 PM
With debug on the error page comes with the above details:


Unknown column 'STsameAsBT' in 'field list'   
/home/j0rdants/public_html/colorgallery.gr/libraries/joomla/database/driver/mysqli.php:665

Call stack
#   Function   Location
1   ()   JROOT/libraries/joomla/database/driver/mysqli.php:665
2   JDatabaseDriverMysqli->execute()   JROOT/libraries/joomla/database/driver.php:1415
3   JDatabaseDriver->insertObject()   JROOT/administrator/components/com_virtuemart/helpers/vmtabledata.php:79
4   VmTableData->store()   JROOT/administrator/components/com_virtuemart/helpers/vmtable.php:1833
5   VmTable->bindChecknStoreNoLang()   JROOT/administrator/components/com_virtuemart/helpers/vmtable.php:1769
6   VmTable->bindChecknStore()   JROOT/administrator/components/com_virtuemart/models/orders.php:1334
7   VirtueMartModelOrders->_createOrder()   JROOT/administrator/components/com_virtuemart/models/orders.php:1162
8   VirtueMartModelOrders->createOrderFromCart()   JROOT/components/com_virtuemart/helpers/cart.php:1206
9   VirtueMartCart->confirmedOrder()   JROOT/components/com_virtuemart/helpers/cart.php:941
10   VirtueMartCart->confirmDone()   JROOT/components/com_virtuemart/controllers/cart.php:115
11   VirtueMartControllerCart->display()   JROOT/components/com_virtuemart/controllers/cart.php:228
12   VirtueMartControllerCart->updatecart()   JROOT/libraries/src/MVC/Controller/BaseController.php:710
13   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/components/com_virtuemart/virtuemart.php:120
14   require_once()   JROOT/libraries/src/Component/ComponentHelper.php:402
15   Joomla\CMS\Component\ComponentHelper::executeComponent()   JROOT/libraries/src/Component/ComponentHelper.php:377
16   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/SiteApplication.php:194
17   Joomla\CMS\Application\SiteApplication->dispatch()   JROOT/libraries/src/Application/SiteApplication.php:233
18   Joomla\CMS\Application\SiteApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:196
19   Joomla\CMS\Application\CMSApplication->execute()   JROOT/index.php:49
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 21, 2019, 23:02:25 PM
Version information help a lot.
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: jordantsap on April 21, 2019, 23:20:09 PM
Sorry man
Joomla! 3.9.4   
VirtueMart 3.4.2
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 22, 2019, 10:45:30 AM
Seems like your database did not update the tables on VM update.

Did you try:
VM - Configuration -> Update/Migration -> Install or if necessary update tables?
You can hit this button without breaking anything, though, a test environment is preferable.

That should get your database up to speed. If it does not work, I would reinstall VirtueMart Core and AIO and TCPDF one by one.
Maybe something got stuck while updating/installing.

Stefan
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: jordantsap on April 22, 2019, 11:48:06 AM
Are you sure that VM - Configuration -> Update/Migration -> Install or if necessary update tables will not remove existing records?

There is also another post in the forum i pasted below that says to update some code:

Looks like the updater did not update the order table correctly. The order table has now
`STsameAsBT` tinyint(1) NOT NULL DEFAULT '0',

Usually the updater should also update the table structure. So it is interesting to understand, why that did not work in your case.
Quote from: Leila on September 20, 2018, 10:36:36 am
After update to VM 3.4 I have the same problem. Joomla 3.8.12, VM 3.4, PHP 7.2. Besides I get 404 error on product details page when activate customfileds with price. "Call to undefined method VirtueMartModelCustomfields::_getCustomPrice()".


This is quite likely an outdated template. The function was set to deprecated a year ago (Revision 9639). I must admit this template change slipped through. 

It was
Code: [Select]
$price = VirtueMartModelCustomfields::_getCustomPrice($productCustom->customfield_price, $currency, $calculator);

and is now
Code: [Select]
$price = VirtueMartModelCustomfields::renderCustomfieldPrice($productCustom, $product, $calculator);

Where is that code file to change it?
I replyed to that post but no responce, thats why i posted my own question here.
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 22, 2019, 13:00:46 PM
If the table updater is not working for you, you should set up a new VM installation e. g. with the full installer and compare the tables via PHPMyAdmin or similar.

I am not sure if the other problem that is quoted has anything to do with the DB problem.
In this case you can just deactivate (rename) the overrides in htm/com_virtuemart in your template folder, or better change to Protostar or vmbeez3.

I can just point you to the places, where I would look first, a proper check would take time and would need access.

Stefan
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: jordantsap on April 23, 2019, 09:51:17 AM
I changed template to default ones but same error, can you point me to the file that i should check depending on the debug files above?
Thank you for your time
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 23, 2019, 10:16:49 AM
Did you use the table updater?
If you think, it's not safe, make a copy of the site and try there. Always the best idea anyways.

Did you try to install VM again?

Did you compare the tables of a new VM installation with yours? What are the results?

I doubt it is about checking files from the debug.
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: Milbo on April 23, 2019, 20:09:39 PM
Quote from: StefanSTS on April 22, 2019, 10:45:30 AM
If it does not work, I would reinstall VirtueMart Core and AIO and TCPDF one by one.
Maybe something got stuck while updating/installing.

Stefan

"Reinstall" would mean in his case to get sure that the files are copied. You can always just install "over". I even say you must not uninstall any vm component/plugin to fix it. and I think it is also suitable to most joomla extensions. All the stuff uses ids and reinstalling can break more than just installing over it.

Quote from: jordantsap on April 22, 2019, 11:48:06 AM
Are you sure that VM - Configuration -> Update/Migration -> Install or if necessary update tables will not remove existing records?

100% sure!

and it is not your template. The column must just be there.
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 23, 2019, 20:45:48 PM
Yes, sure, I meant to just run the installer packages again - via Joomla Extension Manager - in case some files might not have been copied properly the first time which happens now and then on some servers due to short timeouts the provider or the user has set or because of problems with file permissions.

Stefan
Title: 1054 - Unknown column 'o_hash' in 'field list'
Post by: jordantsap on April 27, 2019, 19:52:18 PM
Running the updater caused changing error to that:

1054 - Unknown column 'o_hash' in 'field list'

Unknown column 'o_hash' in 'field list'   
/home/j0rdants/public_html/colorgallery.gr/libraries/joomla/database/driver/mysqli.php:665

Call stack
#   Function   Location
1   ()   JROOT/libraries/joomla/database/driver/mysqli.php:665
2   JDatabaseDriverMysqli->execute()   JROOT/libraries/joomla/database/driver.php:1415
3   JDatabaseDriver->insertObject()   JROOT/administrator/components/com_virtuemart/helpers/vmtabledata.php:82
4   VmTableData->store()   JROOT/administrator/components/com_virtuemart/helpers/vmtable.php:1816
5   VmTable->bindChecknStoreNoLang()   JROOT/administrator/components/com_virtuemart/helpers/vmtable.php:1752
6   VmTable->bindChecknStore()   JROOT/administrator/components/com_virtuemart/models/orders.php:1337
7   VirtueMartModelOrders->_createOrder()   JROOT/administrator/components/com_virtuemart/models/orders.php:1163
8   VirtueMartModelOrders->createOrderFromCart()   JROOT/components/com_virtuemart/helpers/cart.php:1212
9   VirtueMartCart->confirmedOrder()   JROOT/components/com_virtuemart/helpers/cart.php:940
10   VirtueMartCart->confirmDone()   JROOT/components/com_virtuemart/controllers/cart.php:120
11   VirtueMartControllerCart->display()   JROOT/components/com_virtuemart/controllers/cart.php:227
12   VirtueMartControllerCart->updatecart()   JROOT/libraries/src/MVC/Controller/BaseController.php:710
13   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/components/com_virtuemart/virtuemart.php:126
14   require_once()   JROOT/libraries/src/Component/ComponentHelper.php:402
15   Joomla\CMS\Component\ComponentHelper::executeComponent()   JROOT/libraries/src/Component/ComponentHelper.php:377
16   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/SiteApplication.php:194
17   Joomla\CMS\Application\SiteApplication->dispatch()   JROOT/libraries/src/Application/SiteApplication.php:233
18   Joomla\CMS\Application\SiteApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:196
19   Joomla\CMS\Application\CMSApplication->execute()   JROOT/index.php:49
Title: Re: 1054 - Unknown column 'STsameAsBT' in 'field list'
Post by: StefanSTS on April 28, 2019, 20:17:47 PM
It's a behaviour I haven't seen before, maybe your skript execution time is very low and the database script cannot run the installer till the end.

Did you try it on another server or on a local installation?