Чи є спосіб оновити таблицю атрибутів шару після редагування таблиці (наприклад, додати стовпець) у 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 після внесення змін до стовпців?
Наскільки я знаю, це лише відбудеться та закрити проект або відкрити повторне додавання таблиці. Поки ви зберігаєте стиль за замовчуванням у базі даних, який може бути найшвидшим способом.
Коли додається стовпець із Field Calculator, зміни миттєво помітні, але менеджер БД пропонує більше контролю у визначенні типу поля, тому я розумію, чому це може бути не рішенням.
layer.dataProvider().forceReload()
повинні зробити трюк