Jump to content
Site

Stats & Clean

Recommended Posts

Hi,
Within stats, there is an option in the settings to "Clean automatically",

Once selected and saved...
What will this clean out? when is cleanup done?

Share this post


Link to post
Share on other sites

I had a look at the code and found that every time a connection is created, all connections in the ps_connections_pages table that were added before the specified interval are deleted. The setNewConnection($cookie) function in classes/Connection.php calls the cleanConnectionsPages() function.

Share this post


Link to post
Share on other sites

Hi,
So this would clear tables ps_connections or ps_connections_page?
And have no effect on current orders? / Sales stats?


I have around 205,000 enteries in one and 768,000 entries in another. (1 year)

Share this post


Link to post
Share on other sites

It appears to delete from the ps_connections_page only. Here is the query:

// Records of connections details older than the beginning of the  specified interval are deleted
Db::getInstance()->Execute('
DELETE FROM `'._DB_PREFIX_.'connections_page`
WHERE id_connections IN (
   SELECT `id_connections`
   FROM `'._DB_PREFIX_.'connections`
   WHERE date_add < LAST_DAY(DATE_SUB(NOW(), INTERVAL '.$interval.'))
)');



The ps_connections_page contains the links between connections and pages only, not the actual connections, which are in ps_connections. I guess that means it won't affect the connections that are displayed on orders.

Share this post


Link to post
Share on other sites

It seems ps_connections_page looks like it includes data of when a customer has returned back to the website, so we can see when they last logged in etc.

Can you confirm this?


The database is getting very large with both ps_connections & ps_connections_page

Share this post


Link to post
Share on other sites

Yes, the ps_connections_page table contains information about which pages the customer visited at which time. If you aren't interested in this information, you can delete it to save space, since the connection tables can get quite big.

Share this post


Link to post
Share on other sites

Can I also empty ps_connections and ps_connections_source without damaged anything else?

Share this post


Link to post
Share on other sites

I think so. The worst that could happen is that information on when customers last visited your site disappears.

Share this post


Link to post
Share on other sites

Re ps_connections, ps_connections_page & ps_connections_source Is it possible to edit public static function CleanConectionsPages so that it will dump old data from all 3 tables at once?

I have

public static function cleanConnectionsPages()
   {
       $period = Configuration::get('PS_STATS_OLD_CONNECT_AUTO_CLEAN');

       if ($period === 'week')
           $interval = '1 WEEK';
       else if ($period === 'month')
           $interval = '1 MONTH';
       else if ($period === 'year')
           $interval = '1 YEAR';
       else
           return;

       if ($interval != null)
       {
           // Records of connections details older than the beginning of the  specified interval are deleted
           Db::getInstance()->Execute('
           DELETE FROM `'._DB_PREFIX_.'connections_page`
           WHERE id_connections IN (
               SELECT `id_connections`
               FROM `'._DB_PREFIX_.'connections`
               WHERE date_add < LAST_DAY(DATE_SUB(NOW(), INTERVAL '.$interval.'))
           )');
       }
   }
}

In mine have just had to dump lots of old stats data and took ages - even deleting 10,000 rows at a time! Any ideas anyone?

Thanks

Baz

Share this post


Link to post
Share on other sites

Does the new version 1.4.2.5 clean ps_connections and ps_connections_page or ps_guest ?

Share this post


Link to post
Share on other sites

As far as I can tell, the code has remained unchanged in PrestaShop v1.4.2.5, so only ps_connections_page is cleaned.

Share this post


Link to post
Share on other sites

I had a look at the code and found that every time a connection is created, all connections in the ps_connections_pages table that were added before the specified interval are deleted. The setNewConnection($cookie) function in classes/Connection.php calls the cleanConnectionsPages() function.

 

Hi Rocky - my client has PS 1.3 and having initially set the automaic clean to 'never', after a few years the ps_connections_page table is now huge - it has nearly 3 million rows! I know I can manualy empty this, but I need to know that the automatic clean ins working so I set this to 'yearly' which I assumes would delete all entries older than on year. However three days later and the ps_connections_page table still has just as many rows!

 

Why woudl these have not been cleaned out by the automatic clean function if this is run every time a connection is made to the site?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More