使用SQL删除旧的未使用的Prestashop客户

时间:2016-03-06 15:25:24

标签: prestashop prestashop-1.6

由于数据库中存在问题,我需要从Prestashop 1.6中删除旧客户:

  • 于2014年1月1日前注册
  • Haven自2014年1月1日起登录
  • Haven自2014年1月1日起购买

但由于我不太了解Prestashop数据库,因此我有以下问题:

  • 似乎登录数据仅存储在ps_connections中,并且会被删除。 ps_customer.date_upd可以帮助我吗?
  • 删除客户需要哪些额外数据?我想ps_address。还有其他吗?

1 个答案:

答案 0 :(得分:0)

这是一个请求,该请求会打印有关基准站中所有用户的所有日志信息。

SELECT c.date_add as date, u.email as email, u.firstname as firstname, u.lastname as lastname, u.id_customer as id FROM ps_guest g, ps_connections c, ps_customer u
WHERE c.id_guest = g.id_guest AND
g.id_customer = u.id_customer
GROUP BY c.date_add
ORDER BY `date`  DESC

注册日期等于最小日期:(我更改了MIN(c.date_add和GROUP BY)

SELECT MIN(c.date_add) as date, u.email as email, u.firstname as firstname, u.lastname as lastname, u.id_customer as id FROM ps_guest g, ps_connections c, ps_customer u
WHERE c.id_guest = g.id_guest AND
g.id_customer = u.id_customer
GROUP BY u.id_customer

上次登录日期等于较大的日期:(我更改了MAX(c.date_add)和GROUP BY)

SELECT MAX(c.date_add) as date, u.email as email, u.firstname as firstname, u.lastname as lastname, u.id_customer as id FROM ps_guest g, ps_connections c, ps_customer u
WHERE c.id_guest = g.id_guest AND
g.id_customer = u.id_customer
GROUP BY u.id_customer

关于日志问题,您会注意到ps_guest和ps_connection已存储值。而且我确认 ps_customer.date_upd对日志记录毫无用处 ^^

关于删除客户,我搜索了基数中所有出现的id_customer,而没有任何额外的安装模块。结果如下:

ps_customer_message
ps_customer_message 
ps_order_slip   
ps_cart 
ps_specific_price   
ps_customer_group   
ps_address  
ps_customer_thread  
ps_customer_thread  
ps_order_return 
ps_orders   
ps_message  
ps_guest    
ps_cart_rule    
ps_customer 

这些表包含有关“ id_customer”的信息。如果要完全擦除用户,请运行:

DELETE FROM <your table> WHERE id_customer = <your customer's id>