Jump to content
  • 0
Site

Stats & Clean

Question

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

11 answers to this question

Recommended Posts

  • 0

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
  • 0

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
  • 0

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
  • 0

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
  • 0

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
  • 0

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
  • 0

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
  • 0

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
  • 0

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×