From 6f740b2c658a47c27c0900c787fc8f0fc2b4a047 Mon Sep 17 00:00:00 2001 From: Basil Suter Date: Mon, 23 Jul 2018 14:55:05 +0200 Subject: [PATCH] Added index for FK fields. closes #84 --- CHANGELOG.md | 1 + .../migrations/m180723_123237_indexes.php | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 src/admin/migrations/m180723_123237_indexes.php diff --git a/CHANGELOG.md b/CHANGELOG.md index a767342b..b6595742 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. This projec ## Added ++ [#84](https://github.com/luyadev/luya-module-cms/issues/84) Added index for FK fields. + [#107](https://github.com/luyadev/luya-module-cms/issues/107) Extend rules for nav item model. + [#109](https://github.com/luyadev/luya-module-cms/issues/109) Added cms admin module $cmsLayouts propertie to import cms layouts (if no frontend module is available, example headless usage). + [#110](https://github.com/luyadev/luya-module-cms/issues/110) Option to defined a folder with cms layouts (for headless usage). diff --git a/src/admin/migrations/m180723_123237_indexes.php b/src/admin/migrations/m180723_123237_indexes.php new file mode 100644 index 00000000..3e1fa9bf --- /dev/null +++ b/src/admin/migrations/m180723_123237_indexes.php @@ -0,0 +1,69 @@ +createIndex('index_group_id', 'cms_block', ['group_id']); + $this->createIndex('index_class', 'cms_block', ['class']); + + // cms log + $this->createIndex('index_user_id', 'cms_log', ['user_id']); + + // cms_nav + $this->createIndex('index_nav_container', 'cms_nav', ['nav_container_id']); + $this->createIndex('index_parent_nav_id', 'cms_nav', ['parent_nav_id']); + + // cms_nav_item + $this->createIndex('index_alias', 'cms_nav_item', ['alias']); + $this->createIndex('index_nav_id', 'cms_nav_item', ['nav_id']); + $this->createIndex('index_lang_id', 'cms_nav_item', ['lang_id']); + $this->createIndex('index_nav_item_type_id', 'cms_nav_item', ['nav_item_type_id']); + $this->createIndex('index_create_user_id', 'cms_nav_item', ['create_user_id']); + $this->createIndex('index_update_user_id', 'cms_nav_item', ['update_user_id']); + + // cms_nav_item_page + $this->createIndex('index_layout_id', 'cms_nav_item_page', ['layout_id']); + $this->createIndex('index_nav_item_id', 'cms_nav_item_page', ['nav_item_id']); + $this->createIndex('index_create_user_id', 'cms_nav_item_page', ['create_user_id']); + + // cms_nav_item_page_block_item + $this->createIndex('index_block_id', 'cms_nav_item_page_block_item', ['block_id']); + $this->createIndex('index_placeholder_var', 'cms_nav_item_page_block_item', ['placeholder_var']); + $this->createIndex('index_nav_item_page_id', 'cms_nav_item_page_block_item', ['nav_item_page_id']); + $this->createIndex('index_prev_id', 'cms_nav_item_page_block_item', ['prev_id']); + $this->createIndex('index_create_user_id', 'cms_nav_item_page_block_item', ['create_user_id']); + $this->createIndex('index_update_user_id', 'cms_nav_item_page_block_item', ['update_user_id']); + + //index_nav_item_page_id_paceholder_var_prev_id_is_hidden_sort_index + $this->createIndex('index_nipi_pv_pi_ih_si', 'cms_nav_item_page_block_item', ['nav_item_page_id', 'placeholder_var', 'prev_id', 'is_hidden', 'sort_index']); + + // cms_nav_permission + $this->createIndex('index_group_id', 'cms_nav_permission', ['group_id']); + $this->createIndex('index_nav_id', 'cms_nav_permission', ['nav_id']); + $this->createIndex('index_group_id_nav_id', 'cms_nav_permission', ['group_id', 'nav_id']); + + // cms_nav_property + $this->createIndex('index_nav_id', 'cms_nav_property', ['nav_id']); + $this->createIndex('index_admin_prop_id', 'cms_nav_property', ['admin_prop_id']); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + echo "m180723_123237_indexes cannot be reverted.\n"; + + return false; + } +}