mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 05:29:42 -06:00
b5379c5335
* Chore: Fix variable naming Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package migrator
|
|
|
|
type MigrationCondition interface {
|
|
SQL(dialect Dialect) (string, []interface{})
|
|
IsFulfilled(results []map[string][]byte) bool
|
|
}
|
|
|
|
type ExistsMigrationCondition struct{}
|
|
|
|
func (c *ExistsMigrationCondition) IsFulfilled(results []map[string][]byte) bool {
|
|
return len(results) >= 1
|
|
}
|
|
|
|
type NotExistsMigrationCondition struct{}
|
|
|
|
func (c *NotExistsMigrationCondition) IsFulfilled(results []map[string][]byte) bool {
|
|
return len(results) == 0
|
|
}
|
|
|
|
type IfIndexExistsCondition struct {
|
|
ExistsMigrationCondition
|
|
TableName string
|
|
IndexName string
|
|
}
|
|
|
|
func (c *IfIndexExistsCondition) SQL(dialect Dialect) (string, []interface{}) {
|
|
return dialect.IndexCheckSQL(c.TableName, c.IndexName)
|
|
}
|
|
|
|
type IfIndexNotExistsCondition struct {
|
|
NotExistsMigrationCondition
|
|
TableName string
|
|
IndexName string
|
|
}
|
|
|
|
func (c *IfIndexNotExistsCondition) SQL(dialect Dialect) (string, []interface{}) {
|
|
return dialect.IndexCheckSQL(c.TableName, c.IndexName)
|
|
}
|
|
|
|
type IfColumnNotExistsCondition struct {
|
|
NotExistsMigrationCondition
|
|
TableName string
|
|
ColumnName string
|
|
}
|
|
|
|
func (c *IfColumnNotExistsCondition) SQL(dialect Dialect) (string, []interface{}) {
|
|
return dialect.ColumnCheckSQL(c.TableName, c.ColumnName)
|
|
}
|