File tree Expand file tree Collapse file tree 2 files changed +16
-7
lines changed
exts/ext-database/src/main/kotlin/cc/unitmesh/database Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -98,13 +98,17 @@ class DatabaseFunctionProvider : ToolchainFunctionProvider {
98
98
val sqlQuery = args.first()
99
99
return DatabaseSchemaAssistant .executeSqlQuery(project, sqlQuery as String )
100
100
}
101
-
102
101
private fun executeColumnFunction (args : List <Any >, project : Project ): Any {
103
102
if (args.isEmpty()) {
104
103
val allTables = DatabaseSchemaAssistant .getAllTables(project)
105
- return allTables.map {
106
- DatabaseSchemaAssistant . getTableColumn(it)
104
+ val map = allTables.map {
105
+ getTableColumn(it)
107
106
}
107
+ return """
108
+ |```sql
109
+ |${map.joinToString(" \n " )}
110
+ |```
111
+ """ .trimMargin()
108
112
}
109
113
110
114
when (val first = args[0 ]) {
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import com.intellij.database.psi.DbDataSource
7
7
import com.intellij.database.psi.DbPsiFacade
8
8
import com.intellij.database.util.DasUtil
9
9
import com.intellij.openapi.project.Project
10
+ import com.intellij.sql.isNullOr
10
11
11
12
object DatabaseSchemaAssistant {
12
13
fun getDataSources (project : Project ): List <DbDataSource > = DbPsiFacade .getInstance(project).dataSources.toList()
@@ -69,10 +70,14 @@ object DatabaseSchemaAssistant {
69
70
70
71
private fun displayTable (table : DasTable ): String {
71
72
val dasColumns = DasUtil .getColumns(table)
72
- val columns = dasColumns.map { column ->
73
- " ${column.name} : ${column.dasType.toDataType()} "
74
- }.joinToString( " , " )
73
+ val columns = dasColumns.joinToString( " , " ) { column ->
74
+ " ${column.name} ${column.dasType.toDataType()}${ if (column.isNullOr( " " )) " " else " NOT NULL " } "
75
+ }
75
76
76
- return " TableName: ${table.name} , Columns: { $columns }"
77
+ return """
78
+ CREATE TABLE ${table.name} (
79
+ $columns
80
+ );
81
+ """ .trimIndent()
77
82
}
78
83
}
You can’t perform that action at this time.
0 commit comments