diff --git a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java
index 568e618343..48ee70879d 100644
--- a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java
+++ b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java
@@ -335,6 +335,12 @@ public class JdbcProvider extends DatasourceProvider {
driver = mongodbConfiguration.getDriver();
jdbcurl = mongodbConfiguration.getJdbc();
break;
+ case redshift:
+ RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class);
+ username = redshiftConfigration.getUsername();
+ password = redshiftConfigration.getPassword();
+ driver = redshiftConfigration.getDriver();
+ jdbcurl = redshiftConfigration.getJdbc();
default:
break;
}
@@ -411,6 +417,12 @@ public class JdbcProvider extends DatasourceProvider {
dataSource.setUrl(mongodbConfiguration.getJdbc());
jdbcConfiguration = mongodbConfiguration;
break;
+ case redshift:
+ RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class);
+ dataSource.setPassword(redshiftConfigration.getPassword());
+ dataSource.setDriverClassName(redshiftConfigration.getDriver());
+ dataSource.setUrl(redshiftConfigration.getJdbc());
+ jdbcConfiguration = redshiftConfigration;
default:
break;
}
@@ -513,6 +525,8 @@ public class JdbcProvider extends DatasourceProvider {
return "select name from sys.schemas;";
case pg:
return "SELECT nspname FROM pg_namespace;";
+ case redshift:
+ return "SELECT nspname FROM pg_namespace;";
default:
return "show tables;";
}
diff --git a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java
index 9081c0d09a..6df1c449e8 100644
--- a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java
+++ b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java
@@ -50,6 +50,8 @@ public class ProviderFactory implements ApplicationContextAware {
return context.getBean("ckQuery", QueryProvider.class);
case mongo:
return context.getBean("mongoQuery", QueryProvider.class);
+ case redshift:
+ return context.getBean("redshiftQuery", QueryProvider.class);
default:
return context.getBean("mysqlQuery", QueryProvider.class);
}
diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue
index 02172b12f6..f05d5f6462 100644
--- a/frontend/src/views/system/datasource/DsTree.vue
+++ b/frontend/src/views/system/datasource/DsTree.vue
@@ -165,6 +165,8 @@ export default {
return 'Doris'
} else if (type === 'mongo') {
return 'MongoDB'
+ }else if (type === 'redshift') {
+ return 'AWS Redshift'
}
},
diff --git a/frontend/src/views/system/datasource/form.vue b/frontend/src/views/system/datasource/form.vue
index 6cb4fe4a00..77a398d58c 100644
--- a/frontend/src/views/system/datasource/form.vue
+++ b/frontend/src/views/system/datasource/form.vue
@@ -59,14 +59,14 @@
-
+
{{ $t('datasource.get_schema') }}
-
-
+
+