gpt4 book ai didi

mysql - Liquibase 使用函数创建索引

转载 作者:可可西里 更新时间:2023-11-01 06:47:49 29 4
gpt4 key购买 nike

我在 postgresql 中有这个数据库,它有这个索引:

CREATE INDEX fav_alias_lower_index ON fav_alias USING hash((LOWER(fav_alias)));

当我对这个数据库进行逆向工程时,我得到了这个 liquibase 变更日志:

<changeSet author="jmartins (generated)" id="1410448831080-17">
<createIndex indexName="workspace_favorite_alias_lower_case_index" tableName="workspace_favorite_alias" unique="false">
<column name="lower((fava_alias)::text)"/>
</createIndex>
</changeSet>

当我在 PostgreSql 数据库上应用更新时,这工作正常,但是,例如,它不适用于 MySql。所以我的问题是我如何才能使这个索引创建也可用于 MySql、MSSQL 和 Oracle,同时保留 fava_alias 的小写?

谢谢

最佳答案

如果该函数在您的数据库中可用,您可以在 liquibase 中使用它。有一种方法可以使用 dbms 属性区分不同的数据库。

<changeSet author="jmartins (generated)" id="1410448831080-17">
<createIndex indexName="workspace_favorite_alias_lower_case_index" tableName="workspace_favorite_alias" unique="false" dbms="postgresql">
<column name="lower((fava_alias)::text)"/>
</createIndex>
</changeSet>

<changeSet author="jmartins (generated)" id="1410448831080-17">
<createIndex indexName="workspace_favorite_alias_lower_case_index" tableName="workspace_favorite_alias" unique="false" dbms="oracle">
<column name="lower(fava_alias)"/>
</createIndex>
</changeSet>

关于mysql - Liquibase 使用函数创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867766/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com