gpt4 book ai didi

mysql - FluentMigrator 创建 Clob/文本

转载 作者:行者123 更新时间:2023-11-29 03:36:27 30 4
gpt4 key购买 nike

使用迁移脚本创建 TEXT (MYSQL) 或 CLOB(ORACLE/SQLSERVER) 的正确方法是什么?

我的意思是:Alter.Column("column").OnTable("table").AsXXX

最佳答案

类似问题的答案:Can I create a column of nvarchar(MAX) using FluentMigrator?这个想法是在 FluentMigrator 上使用一个扩展来添加一个方法来处理“类似 clob”的数据类型。在示例解决方案中,扩展使用 asString(int.MaxValue),但如果您打算使用每个数据库的特定文本类型(下面的示例扩展了 FluentMigrator,因此您可以在 alter 上使用 clob 类型列 迁移而不是允许您在创建列 中使用它的链接解决方案):

public static IAlterColumnOptionSyntax AsClob(this IAlterColumnAsTypeOrInSchemaSyntax alterColumnAsTypeOrInSchemaSyntax) {
var currentDB = ... // get from some config
var clobType = null;
switch(currentDB){
case MYSQL:
clobType = "LONGTEXT";
break;
case ORACLE:
clobType = "CLOB";
break;
... // so on and so forth
}
return alterColumnAsTypeOrInSchemaSyntax.asCustom(clobType);
}

然后您可以将其用作:

Alter.Column("column").OnTable("table").AsClob();

这不是最优雅的解决方案,因为它需要您承担迁移器驱动程序的工作并手动确定文本类型,但它可以工作。

关于mysql - FluentMigrator 创建 Clob/文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999475/

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