Как удалить индекс в Grails с Liquibase

Можно создать строковый sprintf-стиль с помощью String.format ().

String w = "world";
String s = String.format("Hello %s %d", w, 3);

можно, конечно, также использовать специальные спецификаторы для изменения вывода.

Больше здесь: http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax

8
задан Jay P. 12 May 2015 в 15:30
поделиться

2 ответа

Согласно Руководству по MySQL ...

SHOW INDEX FROM mydb.mytable;

вернет информацию о mytable. Он возвращает несколько полей с информацией о таблице и ее индексе, включая поля Column_name и key_name . Вы, вероятно, сможете определить, какой из них вам нужен.

После этого вы сможете выполнить следующее:

DROP INDEX index_name ON tbl_name

И бум, никакого индекса.

34
ответ дан 5 December 2019 в 04:49
поделиться

Если вы хотите создать сценарий для индекса отбрасывания из Liqubase, вам нужно будет выполнить сценарий, поскольку для стандартного индекса отбрасывания требуется имя индекса.

Один из вариантов - использовать настраиваемый класс изменения с использованием SQL из ответа Фрэнка или получить доступ к метаданным JDBC для получения фактического имени индекса из переданной таблицы.

Другой вариант - создать хранимая процедура, которая принимает имя таблицы в качестве параметра и запрашивает информацию_schema, чтобы получить правильное имя индекса, а затем отбрасывает его.

2
ответ дан 5 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: