fix(app): 支持 GoldenDB 和 Vastbase 新建数据库入口 (#2361)
Co-authored-by: zero <zero@zeroMacmini.local>
This commit is contained in:
parent
643b397f06
commit
4fdfbf61c5
|
|
@ -665,7 +665,7 @@
|
|||
"tableImport": true,
|
||||
"dataTransfer": false,
|
||||
"sqlFileExecution": true,
|
||||
"databaseCreate": false,
|
||||
"databaseCreate": true,
|
||||
"fieldLineage": false,
|
||||
"sqlExplain": false,
|
||||
"userAdmin": true,
|
||||
|
|
@ -695,7 +695,7 @@
|
|||
"tableImport": true,
|
||||
"dataTransfer": false,
|
||||
"sqlFileExecution": true,
|
||||
"databaseCreate": false,
|
||||
"databaseCreate": true,
|
||||
"fieldLineage": false,
|
||||
"sqlExplain": false,
|
||||
"userAdmin": true,
|
||||
|
|
|
|||
|
|
@ -548,6 +548,20 @@ mod tests {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn builds_goldendb_create_database_sql_with_mysql_charset_options() {
|
||||
assert_eq!(
|
||||
build_create_database_sql(CreateDatabaseSqlOptions {
|
||||
database_type: Some(DatabaseType::Goldendb),
|
||||
driver_profile: Some("goldendb".to_string()),
|
||||
name: "app_db".to_string(),
|
||||
charset: Some("utf8mb4".to_string()),
|
||||
collation: Some("utf8mb4_unicode_ci".to_string()),
|
||||
}),
|
||||
"CREATE DATABASE `app_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn omits_create_database_charset_for_non_mysql_types() {
|
||||
assert_eq!(
|
||||
|
|
@ -562,10 +576,25 @@ mod tests {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn builds_vastbase_create_database_sql_without_mysql_charset_options() {
|
||||
assert_eq!(
|
||||
build_create_database_sql(CreateDatabaseSqlOptions {
|
||||
database_type: Some(DatabaseType::Vastbase),
|
||||
driver_profile: Some("vastbase".to_string()),
|
||||
name: "app_db".to_string(),
|
||||
charset: Some("utf8mb4".to_string()),
|
||||
collation: Some("utf8mb4_unicode_ci".to_string()),
|
||||
}),
|
||||
"CREATE DATABASE \"app_db\";"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn recognizes_mysql_compatible_create_database_profiles() {
|
||||
assert!(supports_create_database_charset(Some(DatabaseType::Mysql), Some("oceanbase")));
|
||||
assert!(supports_create_database_charset(Some(DatabaseType::Mysql), Some("doris")));
|
||||
assert!(supports_create_database_charset(Some(DatabaseType::Goldendb), Some("goldendb")));
|
||||
assert!(!supports_create_database_charset(Some(DatabaseType::Postgres), None));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
import assert from "node:assert/strict";
|
||||
import { test } from "vitest";
|
||||
import { isSchemaAware, usesTreeSchemaMode } from "../../apps/desktop/src/lib/databaseCapabilities.ts";
|
||||
import { isSchemaAware, supportsDatabaseCreation, usesTreeSchemaMode } from "../../apps/desktop/src/lib/databaseCapabilities.ts";
|
||||
|
||||
test("TDengine uses database/catalog tree nodes without a schema layer", () => {
|
||||
assert.equal(isSchemaAware("tdengine"), false);
|
||||
assert.equal(usesTreeSchemaMode("tdengine"), false);
|
||||
});
|
||||
|
||||
test("GoldenDB and Vastbase expose database creation", () => {
|
||||
assert.equal(supportsDatabaseCreation("goldendb"), true);
|
||||
assert.equal(supportsDatabaseCreation("vastbase"), true);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue