Есть ли способ обновить таблицу атрибутов слоя после редактирования таблицы (например, добавить столбец) в DB-Manager?
Есть ли способ обновить таблицу атрибутов слоя после редактирования таблицы (например, добавить столбец) в DB-Manager?
Ответы:
Коротко и сладко:
Change vector datasource
.OK
без изменения каких-либо настроек.По сути, вы «меняете» источник векторных данных на тот, который уже был, но это заставляет QGIS перезагрузить определение слоя.
Протестировано в QGIS 2.14 на Linux Mint 17.2.
Предполагая, что вы работаете с базой данных PostGIS, вы можете обновить статистику интересующей вас таблицы, используя ANALYSE
функцию:
http://www.postgresql.org/docs/current/static/sql-analyze.html.
В вашем случае вы можете выполнить инструкцию внутри DB-менеджера, нажав кнопку, отмеченную на прикрепленном изображении, и выполнив ANALYSE
инструкцию в окне, которое также отмечено. Запрос будет следующим: ANALYSE yourschema.yourtable
команда анализа должна обновить вашу таблицу, чтобы при повторном доступе к информации она отражала внесенные вами изменения.
Хорошо ли я понимаю, если вы хотите обновить таблицу в QGIS после внесения изменений в столбцы?
Насколько я знаю, только закройте и откройте проект или повторно добавьте таблицу, чтобы это произошло. Пока вы сохранили стиль по умолчанию в базе данных, это может быть самый быстрый способ.
Когда столбец добавляется с помощью Калькулятора полей, изменения сразу видны, но менеджер БД предлагает больше возможностей для определения типа поля, поэтому я понимаю, почему это не может быть решением.
layer.dataProvider().forceReload()
должен сделать трюк