0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 1813 Просмотров
*

SplaTs

  • Новичок
  • 2
  • 0 / 0
Таблица _assets
« : 14.06.2014, 17:55:47 »
Здравствуйте, возник вопрос с БД.
Подскажите зачем нужна таблица _assets и столбец rules. И что будет если не использовать(для контента(постов)) эту таблицу?
Заранее спасибо. 
*

antony2606

  • Давно я тут
  • 616
  • 46 / 4
  • Работаем!
Re: Таблица _assets
« Ответ #1 : 14.06.2014, 18:36:50 »
Таблица _assets - настройка доступа (права). В столбце rules (правила) хранятся групповые права доступа
« Последнее редактирование: 14.06.2014, 18:41:01 от antony2606 »
*

SplaTs

  • Новичок
  • 2
  • 0 / 0
Re: Таблица _assets
« Ответ #2 : 14.06.2014, 19:00:11 »
И что будет если не использовать(для контента(постов)) эту таблицу?
Т.е. если я заполняю сайт не через форму на сайте, а программой которая не использует(не добавляет строки в) assets. Много я теряю?
« Последнее редактирование: 14.06.2014, 19:18:04 от SplaTs »
*

b2z

  • Глобальный модератор
  • 6960
  • 755 / 0
  • Разраблю понемногу
Re: Таблица _assets
« Ответ #3 : 15.06.2014, 00:04:36 »
Т.е. если я заполняю сайт не через форму на сайте, а программой которая не использует(не добавляет строки в) assets. Много я теряю?
Если не используете ACL, то ничего не теряете.
*

Aspik

  • Давно я тут
  • 535
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Таблица _assets
« Ответ #4 : 15.06.2014, 18:38:43 »
Теряете все если это стандартные компоненты Joomla или компоненты написанные по правилам Joomla (таких очень мало).
Например, Вы не сможете более добавить материал через стандартную форму добавления без шибок. Так как в этой таблице используются вложенные таблицы, которые необходимо заполнять.
Модули Joomla | Joomla extensions
- - - - - -
- - - - - -
Шаблоны Joomla
- - - - - -
- - - - - -
*

antanariva

  • Новичок
  • 9
  • 0 / 0
Re: Таблица _assets
« Ответ #5 : 05.01.2015, 01:08:18 »
Подниму тему, ибо кое-что не понял.

В моём случае (переезд с Joomla 1.5 -> 2.5 -> 3.x), я переносил таблицы из версии 2.5 в 3, но именно в assets нумерация id не совпадала. Поэтому я импортировал тютелька в тютельку все таблицы с категориями, статьями и т.п., а таблицу _assets (строки, касающиеся как раз статей и категорий) импортировать не стал.

Я могу редактировать старые статьи. Наверняка, создав новую статью, появится запись и в assets. Вопрос - стоит ли переносить для старых статей assets.
Пользователя у меня 2: супер-админ и супер-админ :) Второго рута (клиента) хочу сделать просто автором, чтоб не накосячил случайно. Я так понял мне ACL даром не нужен?

PS
Спойлер
[свернуть]
*

b2z

  • Глобальный модератор
  • 6960
  • 755 / 0
  • Разраблю понемногу
*

obk

  • Новичок
  • 1
  • 0 / 0
Re: Таблица _assets
« Ответ #7 : 20.01.2015, 17:15:56 »
Правильно ли я понял -
можно выполнить импорт #_content и #_categories, исключив поле asset_id, а затем в админке ручками заново назначить права доступа?
Всякое увлечение упрощает - как и математика.
*

antanariva

  • Новичок
  • 9
  • 0 / 0
Re: Таблица _assets
« Ответ #8 : 17.03.2015, 11:44:33 »
В моём случае ручками права доступа в столбике assets я не добавлял. Я просто импортировал таблицы в БД сайта, где не было статей и категорий, но 1 суперпользователь то уже имел место быть сразу после установки. Я так понял, что ACL для старых уже написанных статей мне был даром не нужен, тем более для 1 юзера. Добавлю второго - редактора, будет редактор.
*

borro

  • Завсегдатай
  • 1306
  • 22 / 0
  • желаю вам счастья
Re: Таблица _assets
« Ответ #9 : 06.04.2016, 10:18:54 »
Здравствуйте!
Может кому поможет, не нашел с первого поиска ответа.
На сайте стала вываливаться ошибка:
Цитировать
1030 - Got error 122 from storage engine SQL=SELECT b.rules FROM ytgb1_assets AS a LEFT JOIN ytgb1_assets AS b ON b.lft <= a.lft AND b.rgt >= a.rgt WHERE (a.name = 'com_content') GROUP BY b.id, b.rules, b.lft ORDER BY b.lft
Причиной было превышение дисковой квоты. Удалил лишние файлы и сайт заработал
*

ruslan13

  • Захожу иногда
  • 156
  • 2 / 0
Re: Таблица _assets
« Ответ #10 : 23.01.2018, 07:20:59 »
Если руками удалил из таблицы _content много записей, то как убрать (в phpmyadmin-e) соответствующие ненужные записи из таблицы _assets?
*

ChaosHead

  • Гуру
  • 5020
  • 434 / 13
Re: Таблица _assets
« Ответ #11 : 23.01.2018, 15:16:52 »
Через ACL Manager, либо так-же руками, как вы любите
*

ruslan13

  • Захожу иногда
  • 156
  • 2 / 0
Re: Таблица _assets
« Ответ #12 : 23.01.2018, 16:17:16 »
Через ACL Manager, либо так-же руками, как вы любите
Пытаюсь понять, как это сделать руками. Глянул логи запросов БД, удаление одной статьи занимает вот такое количество запросов

Код
SELECT *
FROM jos_content
WHERE `id` = '16989'

DELETE
FROM jos_contentitem_tag_map
WHERE `type_alias` = 'com_content.article' AND `content_item_id` = 16989

SELECT `core_content_id`
FROM `jos_ucm_content`
WHERE `core_content_item_id` = 1 AND `core_type_alias` = 'com_content.article'

SELECT `type_id`
FROM `jos_content_types`
WHERE `type_alias` = 'com_content.article'

DELETE
FROM `jos_ucm_history`
WHERE `ucm_item_id` = 16989 AND `ucm_type_id` = 1

SELECT `id`
FROM `jos_assets`
WHERE `name` = 'com_content.article.16989'

SELECT *
FROM jos_assets
WHERE `id` = '17569'

LOCK TABLES `jos_assets` WRITE

SELECT id, parent_id, level, lft, rgt
FROM jos_assets
WHERE id = 17569 LIMIT 1

DELETE
FROM jos_assets
WHERE lft BETWEEN 30127 AND 30128

UPDATE jos_assets
SET lft = lft - 2
WHERE lft > 30128

UPDATE jos_assets
SET rgt = rgt - 2
WHERE rgt > 30128

UNLOCK TABLES

DELETE
FROM jos_content
WHERE `id` = '16989'

SELECT id FROM jos_jcomments
 WHERE object_group = 'com_content'
 AND object_id IN (0)

DELETE FROM jos_jcomments_objects  WHERE object_group = 'com_content' AND object_id = '0'

DELETE
FROM `jos_jcomments_subscriptions`
WHERE `object_id` = 16989 AND `object_group` = 'com_content'

Это к вопросу об оптимизированности core Joomla.
Но больше всего удивила именно таблица assets. Данные из нее (запись в content по foreign key) не удаляются, но меняются значения lft, rgt по всей таблице!

Зато вот нашел решение универсальное, похоже - https://www.itoctopus.com/creating-new-articles-on-your-joomla-website-is-taking-a-long-time-clean-your-assets-table
« Последнее редактирование: 23.01.2018, 16:59:07 от ruslan13 »
*

ChaosHead

  • Гуру
  • 5020
  • 434 / 13
Re: Таблица _assets
« Ответ #13 : 23.01.2018, 17:47:11 »
Статья была актуальна для прошлых версий Joomla и сам я этот совет давал на форуме не раз, но в последней версии они улучшили кэширование прав доступа и теперь отсутствие прав в таблице не несёт преимущества над корректно заполненными правами.
Да, эти права - это тормозное место Joomla и в Joomla 4 собираются это улучшить, но в то-же время - это сильное место, т.к. в других CMS получить на столько гибкую систему прав грозит серьёзными доработками, а тут всё готово и в коробке.

удаление одной статьи занимает вот такое количество запросов
Ничего там экстраординарного не увидел. Все эти запросы очень быстрые. Да и там вы в конце от jcomments приплели, ну и от кастомных полей и тегов в начале запросы. Я лично предпочитаю, чтобы всё это было и всё работало автоматом.
« Последнее редактирование: 23.01.2018, 17:52:28 от ChaosHead »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Таблица БД для языковых связей (Joomla 3)

Автор Bozhkov2

Ответов: 2
Просмотров: 129
Последний ответ 21.04.2018, 14:42:26
от Bozhkov2
С некоторых пор, пор перестала очищаться таблица сессий _session

Автор palexa

Ответов: 58
Просмотров: 1825
Последний ответ 20.02.2018, 21:43:47
от palexa
Joomla 3: Таблица баз _session не очищается и быстро увеличиваться

Автор samell79

Ответов: 2
Просмотров: 203
Последний ответ 14.02.2018, 23:29:00
от palexa
Проблемы с правами Access (sql _assets)

Автор Timoscow

Ответов: 3
Просмотров: 703
Последний ответ 15.10.2017, 12:42:13
от Timoscow
Активная таблица. Нужна помощь

Автор Denis564

Ответов: 3
Просмотров: 212
Последний ответ 07.10.2017, 12:30:58
от Denis564