Archive old migrations (#426)
* Archive old migrations * Fix invalid placement of migrations
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
DROP MATERIALIZED VIEW IF EXISTS v_esales_categorytree_i18n;
|
||||
-- REFRESH MATERIALIZED VIEW v_esales_categorytree_i18n;
|
||||
|
||||
CREATE MATERIALIZED VIEW v_esales_categorytree_i18n AS
|
||||
SELECT *,
|
||||
-- Remove diacritics and other stuff
|
||||
REGEXP_REPLACE(
|
||||
UNACCENT(REPLACE(REPLACE(path, ' ', '_'), '&', 'and')),
|
||||
'[^\w/\-]', '', 'g'
|
||||
) AS path_translated
|
||||
FROM (
|
||||
SELECT c.id,
|
||||
(
|
||||
SELECT id
|
||||
FROM categories s
|
||||
WHERE s.lft < c.lft AND s.rgt > c.rgt
|
||||
ORDER BY s.rgt-c.rgt ASC
|
||||
LIMIT 1
|
||||
) AS parent_id,
|
||||
locale_id,
|
||||
locale,
|
||||
c.name,
|
||||
(
|
||||
SELECT LOWER(array_to_string(array_agg(main.parent_name), '/')) AS path
|
||||
FROM (
|
||||
SELECT node.id,
|
||||
(
|
||||
SELECT name
|
||||
FROM category_texts
|
||||
WHERE locale_id = c.locale_id
|
||||
AND category_id = parent.id
|
||||
) AS parent_name
|
||||
FROM categories node,
|
||||
categories parent
|
||||
WHERE node.lft BETWEEN parent.lft AND parent.rgt
|
||||
AND node.id = c.id
|
||||
ORDER BY parent.lft
|
||||
) main
|
||||
GROUP BY main.id
|
||||
) AS path,
|
||||
CASE c.rgt - c.lft
|
||||
WHEN 1 THEN 1
|
||||
ELSE 0
|
||||
END AS is_leaf,
|
||||
(
|
||||
SELECT count(*) - 1
|
||||
FROM categories node,
|
||||
categories parent
|
||||
WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.id = c.id
|
||||
) AS depth,
|
||||
(
|
||||
SELECT count(*) - 1
|
||||
FROM categories c1
|
||||
WHERE c1.lft BETWEEN c.lft AND c.rgt
|
||||
) AS child_count,
|
||||
c.lft,
|
||||
c.rgt
|
||||
FROM (
|
||||
SELECT c.id,
|
||||
s.id AS locale_id,
|
||||
s.value AS locale,
|
||||
LOWER(s_t.name) AS name,
|
||||
rgt,
|
||||
lft
|
||||
FROM locales s
|
||||
JOIN category_texts s_t ON s.id = s_t.locale_id
|
||||
JOIN categories c ON s_t.category_id = c.id
|
||||
ORDER BY s.id, c.lft
|
||||
) c
|
||||
) main;
|
||||
|
||||
-- DROP INDEX v_esales_categorytree_i18n_id_locale_id;
|
||||
CREATE UNIQUE INDEX v_esales_categorytree_i18n_id_locale_id
|
||||
ON v_esales_categorytree_i18n (id, locale_id);
|
||||
Reference in New Issue
Block a user