Skip to content
Snippets Groups Projects
Commit 662e854f authored by Bastien Abadie's avatar Bastien Abadie
Browse files

Setup PG materialized views for parents/children as cache.

parent e8583341
No related branches found
No related tags found
1 merge request!25Cache with materialized views
# Generated by Django 2.0 on 2018-05-18 08:09
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('documents', '0002_element_zone'),
]
operations = [
migrations.RunSQL(
"""
create materialized view elements_parents_cache as
(
select * from elements_parents
);
""",
reverse_sql="drop materialized view if exists elements_parents_cache;"
),
migrations.RunSQL(
"""
create materialized view elements_children_cache as
(
select * from elements_children
);
""",
reverse_sql="drop materialized view if exists elements_children_cache;"
),
migrations.RunSQL(
"""
create index idx_elements_parents_cache_id on elements_parents_cache (id);
""",
reverse_sql="drop index if exists idx_elements_parents_cache_id;"
),
migrations.RunSQL(
"""
create index idx_elements_parents_cache_parent on elements_parents_cache (parent_id);
""",
reverse_sql="drop index if exists idx_elements_parents_cache_parent;"
),
migrations.RunSQL(
"""
create index idx_elements_children_cache_id on elements_children_cache (id);
""",
reverse_sql="drop index if exists idx_elements_children_cache_id;"
),
migrations.RunSQL(
"""
create index idx_elements_children_cache_child on elements_children_cache (child_id);
""",
reverse_sql="drop index if exists idx_elements_children_cache_child;"
),
migrations.AlterModelTable(
name='elementchildren',
table='elements_children_cache',
),
migrations.AlterModelTable(
name='elementparents',
table='elements_parents_cache',
),
]
......@@ -40,7 +40,7 @@ class ElementParents(models.Model):
class Meta:
managed = False
db_table = 'elements_parents'
db_table = 'elements_parents_cache'
class ElementChildren(models.Model):
......@@ -51,7 +51,7 @@ class ElementChildren(models.Model):
class Meta:
managed = False
db_table = 'elements_children'
db_table = 'elements_children_cache'
class Element(IndexableModel):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment