fix(plugin): P1 跨插件引用修复 — DateTime generated column + resolve-labels UUID 类型 + EntitySelect manifest→UUID 映射
- manifest.rs: DateTime 类型 generated column 改为 TEXT 存储(PostgreSQL TIMESTAMPTZ cast 非 immutable) - data_handler.rs: resolve-labels 查询参数从 String 改为 UUID 类型避免类型不匹配 - data_dto.rs: PublicEntityResp 新增 plugin_id 字段 - EntitySelect.tsx: 跨插件查询先通过 registry 解析 manifest_id→plugin UUID - pluginData.ts: PublicEntity 接口增加 plugin_id - plugin_tests.rs: 适配 PluginField/PluginEntity 新增字段
This commit is contained in:
@@ -29,6 +29,8 @@ fn make_field(name: &str, field_type: PluginFieldType) -> PluginField {
|
||||
validation: None,
|
||||
no_cycle: None,
|
||||
scope_role: None,
|
||||
ref_plugin: None,
|
||||
ref_fallback_label: None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +50,7 @@ fn make_test_manifest() -> PluginManifest {
|
||||
entities: vec![PluginEntity {
|
||||
name: "item".to_string(),
|
||||
display_name: "测试项".to_string(),
|
||||
is_public: None,
|
||||
fields: vec![
|
||||
PluginField {
|
||||
name: "code".to_string(),
|
||||
@@ -95,7 +98,7 @@ fn make_test_manifest() -> PluginManifest {
|
||||
#[tokio::test]
|
||||
async fn test_dynamic_table_create_and_query() {
|
||||
let test_db = TestDb::new().await;
|
||||
let db = &test_db.db;
|
||||
let db = test_db.db();
|
||||
|
||||
let manifest = make_test_manifest();
|
||||
let entity = &manifest.schema.as_ref().unwrap().entities[0];
|
||||
@@ -156,7 +159,7 @@ async fn test_dynamic_table_create_and_query() {
|
||||
#[tokio::test]
|
||||
async fn test_tenant_isolation_in_dynamic_table() {
|
||||
let test_db = TestDb::new().await;
|
||||
let db = &test_db.db;
|
||||
let db = test_db.db();
|
||||
|
||||
let manifest = make_test_manifest();
|
||||
let entity = &manifest.schema.as_ref().unwrap().entities[0];
|
||||
|
||||
Reference in New Issue
Block a user