跳到主要内容

数据源查询

getAggregateDataSourceList​

Future<AggregateDataSourceListResponse> app.models.getAggregateDataSourceList({
required int pageSize,
String? envId,
int? pageIndex,
int? queryAll,
List<String>? dataSourceIds,
List<String>? dataSourceNames,
String? dataSourceType,
List<String>? viewIds,
List<String>? appIds,
int? appLinkStatus,
int? queryBindToApp,
int? queryConnector,
List<String>? channelList,
bool? queryDataSourceRelationList,
String? dbInstanceType,
List<String>? databaseTableNames,
bool? querySystemModel,
})

根据条件查询数据源聚合列表。envId 可选,默认使用初始化时的环境 ID。

参数

pageSize
int

每页条数

envId
String?

环境 ID(可选,默认使用初始化时的 env)

pageIndex
int?

页码

queryAll
int?

是否查询全部(0 或 1)

dataSourceIds
List<String>?

数据源 ID 列表

dataSourceNames
List<String>?

数据源名称列表

dataSourceType
String?

数据源类型

viewIds
List<String>?

视图 ID 列表

appIds
List<String>?

应用 ID 列表

appLinkStatus
int?

应用关联状态

queryBindToApp
int?

是否查询绑定到应用的数据源(0 或 1)

queryConnector
int?

是否查询连接器(0 或 1)

channelList
List<String>?

渠道列表

queryDataSourceRelationList
bool?

是否查询数据源关联列表

dbInstanceType
String?

数据库实例类型

databaseTableNames
List<String>?

数据库表名列表

querySystemModel
bool?

是否查询系统模型

返回

Future
AggregateDataSourceListResponse

示例

final result = await app.models.getAggregateDataSourceList(
pageSize: 10,
pageIndex: 0,
);

if (result.isSuccess) {
print('总数: ${result.count}');
for (final ds in result.rows) {
print('${ds.name}: ${ds.title} (type: ${ds.type})');
}
}

getDataSourceAggregateDetail​

Future<DataSourceAggregateDetailResponse> app.models.getDataSourceAggregateDetail({
String? datasourceId,
String? dataSourceName,
String? viewId,
int? queryPublish,
bool? queryModelRelation,
String? dbInstanceType,
String? databaseTableName,
})

根据条件查询数据源聚合详情。datasourceId 和 dataSourceName 不能都为空。

参数

datasourceId
String?

数据源 ID(与 dataSourceName 不能都为空)

dataSourceName
String?

数据源名称(与 datasourceId 不能都为空)

viewId
String?

视图 ID

queryPublish
int?

查询发布数据源(0 体验, 1 发布)

queryModelRelation
bool?

是否查询关联关系

dbInstanceType
String?

实例 DB 类型

databaseTableName
String?

数据库表名

返回

Future
DataSourceAggregateDetailResponse

示例

final result = await app.models.getDataSourceAggregateDetail(
dataSourceName: 'user',
);

if (result.isSuccess) {
print('Schema: ${result.dataSource?.schema}');
print('名称: ${result.dataSource?.title}');
}

getDataSourceByTableName​

Future<DataSourceByTableNameResponse> app.models.getDataSourceByTableName({required List<String> tableNames})

根据数据库表名称查询数据源 Schema 定义。

参数

tableNames
List<String>

数据表名称列表

返回

Future
DataSourceByTableNameResponse

示例

final result = await app.models.getDataSourceByTableName(
tableNames: ['user_table', 'order_table'],
);

if (result.isSuccess) {
for (final info in result.dataSourceTableInfos) {
print('表: ${info.tableName}, 数据源: ${info.name}');
}
}

getBasicDataSourceList​

Future<BasicDataSourceListResponse> app.models.getBasicDataSourceList({
List<String>? idList,
List<String>? nameList,
int? pageNum,
int? pageSize,
bool? queryAll,
List<DataSourceQueryFilter>? queryFilterList,
bool? onlyFlexDb,
})

根据条件查询基础数据源信息列表(POST 请求,支持过滤条件)。

参数

idList
List<String>?

数据源 ID 列表

nameList
List<String>?

数据源标识列表

pageNum
int?

页码,默认 1

pageSize
int?

每页条数,默认 10

queryAll
bool?

是否查询全部

queryFilterList
List<DataSourceQueryFilter>?

查询过滤条件列表

onlyFlexDb
bool?

是否仅查询 flexdb 类型

返回

Future
BasicDataSourceListResponse

示例

final result = await app.models.getBasicDataSourceList(
pageSize: 10,
pageNum: 1,
queryFilterList: [
DataSourceQueryFilter(name: 'Type', values: ['database']),
],
);

if (result.isSuccess) {
print('总数: ${result.total}');
for (final ds in result.dataSourceList) {
print('${ds.name}: ${ds.title}');
}
}

getBasicDataSource​

Future<BasicDataSourceResponse> app.models.getBasicDataSource({
String? datasourceId,
String? dataSourceName,
String? viewId,
int? queryPublish,
bool? queryModelRelation,
String? dbInstanceType,
String? databaseTableName,
})

根据条件查询基础数据源信息。datasourceId 和 dataSourceName 不能都为空。

参数

datasourceId
String?

数据源 ID(与 dataSourceName 不能都为空)

dataSourceName
String?

数据源名称(与 datasourceId 不能都为空)

viewId
String?

视图 ID

queryPublish
int?

查询发布数据源(0 体验, 1 发布)

queryModelRelation
bool?

是否查询关联关系

dbInstanceType
String?

实例 DB 类型

databaseTableName
String?

数据库表名

返回

Future
BasicDataSourceResponse

示例

final result = await app.models.getBasicDataSource(
dataSourceName: 'user',
);

if (result.isSuccess) {
print('数据源: ${result.dataSource?.name}');
print('类型: ${result.dataSource?.type}');
}

getSchemaList​

Future<DataSourceSchemaListResponse> app.models.getSchemaList({List<String>? dataSourceNameList})

查询环境下所有数据源 Schema。不传参数则查询全部。

参数

dataSourceNameList
List<String>?

数据源名称列表(可选,不传则查询全部)

返回

Future
DataSourceSchemaListResponse

示例

final result = await app.models.getSchemaList(
dataSourceNameList: ['user', 'order'],
);

if (result.isSuccess) {
for (final rel in result.dataSourceRelationInfoList) {
print('${rel.name}: ${rel.title}');
}
}

getTableName​

Future<DataSourceTableNameResponse> app.models.getTableName({String? dataSourceName})

根据数据源名称查询对应的数据库表名称。

参数

dataSourceName
String?

数据源名称

返回

Future
DataSourceTableNameResponse

示例

final result = await app.models.getTableName(
dataSourceName: 'user',
);

if (result.isSuccess) {
print('表名: ${result.tableName}');
print('数据库类型: ${result.dbType}');
}