nig*_*2k1 8 database migration grails grails-orm liquibase
我有一个由GORM(Grails Domain)生成的表.它具有生成随机字符的外键/索引,如FKAC7AAF67162A158F.我需要删除不再需要的字段.
问题,我有一些需要更新的服务器.所以我需要使用Liquibase创建一个迁移.但我不知道如果索引是随机名称(每个服务器我有不同的名称),如何删除该索引manualy.
是否可以在不知道其名称的情况下删除某个索引?
Fra*_*osa 34
根据MySQL手册 ......
SHOW INDEX FROM mydb.mytable;
Run Code Online (Sandbox Code Playgroud)
将返回有关mytable的信息.它返回几个字段,其中包含有关表及其索引的信息,包括a Column_name和key_namefields.你可以找出你需要的那个.
之后,您应该能够执行此操作:
DROP INDEX index_name ON tbl_name
Run Code Online (Sandbox Code Playgroud)
繁荣,没有更多的指数.
您可以使用数据库迁移插件 (liquibase) 删除索引。它要求您知道索引名称,但该名称应该位于您之前的迁移之一中。
// older index added in a previous release
changeSet(author: "frank", id: "1354228052849-1") {
createIndex(indexName: "FKAC7AAF67162A158F", tableName: "answer_option") {
column(name: "question_id")
}
}
Run Code Online (Sandbox Code Playgroud)
创建新的迁移以删除索引。
changeSet(author: "joe@example.com", id: "1381257863746-1") {
dropIndex(indexName: "FKAC7AAF67162A158F", tableName: "answer_option")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24873 次 |
| 最近记录: |