提交 0a83fff9 authored 作者: 宋勇's avatar 宋勇

添加字段缺省值

上级 a77efc77
......@@ -147,6 +147,7 @@ public class MysqlJdbcDataSourceChannel implements DataSourceChannelExt {
tableField.setName(columnName);
tableField.setComment(resultSet.getString("COLUMN_COMMENT"));
tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
Object nullable = resultSet.getObject("IS_NULLABLE");
tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields.add(tableField);
......
......@@ -121,6 +121,7 @@ public class OracleDataSourceChannel implements DataSourceChannelExt {
+ " t1.DATA_LENGTH VAR_LEN,\n"
+ " t1.DATA_PRECISION LEN,\n"
+ " DATA_SCALE ,\n"
+ " t1.DATA_DEFAULT COLUMN_DEFAULT,\n"
+ " CASE NULLABLE\n"
+ " WHEN 'N' THEN\n"
+ " 'true'\n"
......@@ -161,6 +162,7 @@ public class OracleDataSourceChannel implements DataSourceChannelExt {
// tableField.setHasAutoIncrement(true);
// }
tableField.setName(columnName);
tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
tableField.setType(resultSet.getString("TYPE_NAME"));
tableField.setComment(resultSet.getString("REMARKS"));
Object nullable = resultSet.getObject("IS_NULLABLE");
......
......@@ -144,6 +144,7 @@ public class PostgresqlDataSourceChannel implements DataSourceChannelExt {
tableField.setName(columnName);
tableField.setComment(resultSet.getString("REMARKS"));
tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
Object nullable = resultSet.getObject("IS_NULLABLE");
tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields.add(tableField);
......
......@@ -132,15 +132,17 @@ public class SqlServerDataSourceChannel implements DataSourceChannelExt {
+ "\t\tWHEN 'u' THEN\n"
+ "\t\t'用户定义表' \n"
+ "\tEND AS Type,\n"
+ "\tB.is_nullable AS IS_NULLABLE \n"
+ "\tB.is_nullable AS IS_NULLABLE, \n"
+ "\tde.definition COLUMN_DEFAULT "
+ "FROM\n"
+ "\tsys.tables AS A\n"
+ "\tINNER JOIN sys.columns AS B ON B.object_id = A.object_id\n"
+ "\tLEFT JOIN sys.extended_properties AS C ON C.major_id = B.object_id \n"
+ "\tAND C.minor_id = B.column_id\n"
+ "\tLEFT JOIN sys.types AS D ON D.system_type_id = B.system_type_id\n"
+ "\tLEFT JOIN sys.types AS D ON D.system_type_id = B.system_type_id and d.name!='sysname' \n"
+ "\tleft JOIN sys.extended_properties AS f ON A.object_id = f.major_id \n"
+ "\tAND f.minor_id = 0 \n"
+ "\t LEFT JOIN sys.default_constraints de\ton de.object_id = B.default_object_id \n"
+ "WHERE\n"
+ "\tA.name = '"
+ table
......@@ -166,6 +168,10 @@ public class SqlServerDataSourceChannel implements DataSourceChannelExt {
tableField.setType(resultSet.getString("TYPE_NAME"));
tableField.setComment(resultSet.getString("REMARKS"));
String columnDefault = resultSet.getString("COLUMN_DEFAULT");
if (StringUtils.isNotBlank(columnDefault)) {
tableField.setDefaultValue(columnDefault.replace("(", "").replace(")", ""));
}
Object nullable = resultSet.getObject("IS_NULLABLE");
tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields.add(tableField);
......
......@@ -145,6 +145,7 @@ public class TidbJdbcDataSourceChannel implements DataSourceChannelExt {
}
tableField.setName(columnName);
tableField.setComment(resultSet.getString("COLUMN_COMMENT"));
tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
Object nullable = resultSet.getObject("IS_NULLABLE");
tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields.add(tableField);
......
......@@ -225,6 +225,7 @@ public class MysqlCDCDataSourceChannel implements DataSourceChannelExt {
tableField.setName(columnName);
tableField.setComment(resultSet.getString("REMARKS"));
tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
Object nullable = resultSet.getObject("IS_NULLABLE");
tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields.add(tableField);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论