如何在liquibase中创建复合索引

时间:2014-06-17 00:42:46

标签: xml postgresql liquibase

如何使用liquibase创建复合索引?

这是我到目前为止所做的:

    <createIndex indexName="idx_value"
                 tableName="test">
        <column name="value"/>
    </createIndex>

我有以下几点,但我只需要确认。

<createIndex indexName="idx_value"
             tableName="test">
    <column name="value0"/>
    <column name="value1"/>
</createIndex>

2 个答案:

答案 0 :(得分:18)

如果:

,我会感到惊讶
<createIndex indexName="idx_value"
             tableName="test">
    <column name="value" type="varchar(255)"/>
    <column name="othercolumn" type="varchar(255)"/>
</createIndex>

没有用......

答案 1 :(得分:2)

对我来说,该解决方案无效。它在字段上创建了单独的索引。

相反,我使用这种方法,用逗号分隔各列:

var Maths = new Subject();
var English = new Subject();
var Construction = new Subject();
var IT = new Subject();

Subject[] subjects = {null, Maths, English, Construction, IT};

int t = 1;
int c = 0;

while (t < 4)
{
    if (Convert.ToInt32(Chart[c].Text) != 0)
    {
        if (c < 12)
        {
            c++;
        }                       
        Counter(subjects);
    }
    else
    {
        int m = random.Next(1, 4);
        Chart[c].Text = Convert.ToString(m);
        subject[m].Value--; 
        Chart[c].Refresh();
        tbTotal--;
    }
}

private void Counter(IEnumerable<Subject> subjects)
{
    foreach(var s in subjects.Where(s => s is object))
    {
       if (s.Value == 0 && !s.Dirty)
       {
           s.Dirty = true;
           t++;
       {
    }
}

在带quiquibase 3.5.5的MySQL 5.7上测试