mirror of
https://github.com/vran-dev/databasir.git
synced 2025-09-13 22:57:05 +08:00
feat: update frontend resources
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.databasir.dao.impl;
|
||||
|
||||
import com.databasir.dao.Indexes;
|
||||
import com.databasir.dao.tables.pojos.DocumentFullTextPojo;
|
||||
import com.databasir.dao.value.FullTextProjectInfoUpdatePojo;
|
||||
import lombok.Getter;
|
||||
@@ -31,13 +32,11 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
}
|
||||
|
||||
public Page<DocumentFullTextPojo> selectColumnPage(Pageable pageable, String keyword) {
|
||||
|
||||
String[] fullTextMatchCols = new String[]{
|
||||
DOCUMENT_FULL_TEXT.COL_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.COL_COMMENT.getName(),
|
||||
DOCUMENT_FULL_TEXT.DATABASE_PRODUCT_NAME.getName()
|
||||
};
|
||||
String colSegment = String.join(",", fullTextMatchCols);
|
||||
String[] matchCols = Indexes.DOCUMENT_FULL_TEXT_FIDX_COLUMN.getFields()
|
||||
.stream()
|
||||
.map(f -> f.getName())
|
||||
.toArray(String[]::new);
|
||||
String colSegment = String.join(",", matchCols);
|
||||
// sample: match(col_name, col_comment) against('+databasir' in boolean mode)
|
||||
String fullTextMatchSqlSegment = new StringBuilder(64)
|
||||
.append("MATCH(").append(colSegment).append(") ")
|
||||
@@ -58,11 +57,10 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
}
|
||||
|
||||
public Page<DocumentFullTextPojo> selectTablePage(Pageable pageable, String keyword) {
|
||||
String[] matchCols = new String[]{
|
||||
DOCUMENT_FULL_TEXT.TABLE_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.TABLE_COMMENT.getName(),
|
||||
DOCUMENT_FULL_TEXT.DATABASE_PRODUCT_NAME.getName()
|
||||
};
|
||||
String[] matchCols = Indexes.DOCUMENT_FULL_TEXT_FIDX_TABLE.getFields()
|
||||
.stream()
|
||||
.map(f -> f.getName())
|
||||
.toArray(String[]::new);
|
||||
TableField[] groupColumns = new TableField[]{
|
||||
DOCUMENT_FULL_TEXT.GROUP_ID,
|
||||
DOCUMENT_FULL_TEXT.GROUP_NAME,
|
||||
@@ -76,6 +74,7 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
DOCUMENT_FULL_TEXT.TABLE_DOCUMENT_ID,
|
||||
DOCUMENT_FULL_TEXT.TABLE_NAME,
|
||||
DOCUMENT_FULL_TEXT.TABLE_COMMENT,
|
||||
DOCUMENT_FULL_TEXT.TABLE_DESCRIPTION,
|
||||
};
|
||||
String colSegment = String.join(",", matchCols);
|
||||
|
||||
@@ -104,13 +103,10 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
}
|
||||
|
||||
public Page<DocumentFullTextPojo> selectProjectPage(Pageable pageable, String keyword) {
|
||||
String[] matchCols = new String[]{
|
||||
DOCUMENT_FULL_TEXT.PROJECT_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.PROJECT_DESCRIPTION.getName(),
|
||||
DOCUMENT_FULL_TEXT.SCHEMA_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.DATABASE_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.DATABASE_TYPE.getName(),
|
||||
};
|
||||
String[] matchCols = Indexes.DOCUMENT_FULL_TEXT_FIDX_PROJECT.getFields()
|
||||
.stream()
|
||||
.map(f -> f.getName())
|
||||
.toArray(String[]::new);
|
||||
String colSegment = String.join(",", matchCols);
|
||||
// sample: match(col_name, col_comment) against('+databasir' in boolean mode)
|
||||
String fullTextMatchSqlSegment = new StringBuilder(64)
|
||||
@@ -136,10 +132,10 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
}
|
||||
|
||||
public Page<DocumentFullTextPojo> selectGroupPage(Pageable pageable, String keyword) {
|
||||
String[] matchCols = new String[]{
|
||||
DOCUMENT_FULL_TEXT.GROUP_NAME.getName(),
|
||||
DOCUMENT_FULL_TEXT.GROUP_DESCRIPTION.getName()
|
||||
};
|
||||
String[] matchCols = Indexes.DOCUMENT_FULL_TEXT_FIDX_GROUP.getFields()
|
||||
.stream()
|
||||
.map(f -> f.getName())
|
||||
.toArray(String[]::new);
|
||||
String colSegment = String.join(",", matchCols);
|
||||
|
||||
String fullTextMatchSqlSegment = new StringBuilder(64)
|
||||
@@ -198,4 +194,29 @@ public class DocumentFullTextDao extends BaseDao<DocumentFullTextPojo> {
|
||||
.and(DOCUMENT_FULL_TEXT.TABLE_DOCUMENT_ID.isNull()))
|
||||
.execute();
|
||||
}
|
||||
|
||||
public int updateTableDescription(Integer groupId, Integer projectId, String tableName, String description) {
|
||||
return this.getDslContext()
|
||||
.update(DOCUMENT_FULL_TEXT)
|
||||
.set(DOCUMENT_FULL_TEXT.TABLE_DESCRIPTION, description)
|
||||
.where(DOCUMENT_FULL_TEXT.GROUP_ID.eq(groupId)
|
||||
.and(DOCUMENT_FULL_TEXT.PROJECT_ID.eq(projectId))
|
||||
.and(DOCUMENT_FULL_TEXT.TABLE_NAME.eq(tableName)))
|
||||
.execute();
|
||||
}
|
||||
|
||||
public int updateColumnDescription(Integer groupId,
|
||||
Integer projectId,
|
||||
String tableName,
|
||||
String columnName,
|
||||
String description) {
|
||||
return this.getDslContext()
|
||||
.update(DOCUMENT_FULL_TEXT)
|
||||
.set(DOCUMENT_FULL_TEXT.COL_DESCRIPTION, description)
|
||||
.where(DOCUMENT_FULL_TEXT.GROUP_ID.eq(groupId)
|
||||
.and(DOCUMENT_FULL_TEXT.PROJECT_ID.eq(projectId))
|
||||
.and(DOCUMENT_FULL_TEXT.TABLE_NAME.eq(tableName))
|
||||
.and(DOCUMENT_FULL_TEXT.COL_NAME.eq(columnName)))
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
@@ -52,4 +52,22 @@ FROM table_column_document tcd
|
||||
WHERE pj.deleted = FALSE
|
||||
AND dd.is_archive = FALSE
|
||||
AND dft.table_column_document_id IS NULL
|
||||
AND dft.project_id IS NULL
|
||||
AND dft.project_id IS NULL;
|
||||
|
||||
-- update table description;
|
||||
|
||||
UPDATE document_full_text
|
||||
LEFT JOIN document_description dd ON document_full_text.project_id = dd.project_id
|
||||
SET table_description=dd.content
|
||||
WHERE dd.table_name = document_full_text.table_name
|
||||
AND dd.project_id = document_full_text.project_id
|
||||
AND dd.column_name IS NULL;
|
||||
|
||||
-- update column description;
|
||||
UPDATE document_full_text
|
||||
INNER JOIN document_description dd ON document_full_text.project_id = dd.project_id
|
||||
SET col_description=dd.content
|
||||
WHERE dd.table_name = document_full_text.table_name
|
||||
AND dd.column_name = document_full_text.col_name
|
||||
AND dd.project_id = document_full_text.project_id
|
||||
AND dd.column_name IS NOT NULL;
|
||||
|
@@ -17,17 +17,19 @@ CREATE TABLE document_full_text
|
||||
`database_type` TEXT,
|
||||
`table_name` TEXT,
|
||||
`table_comment` TEXT,
|
||||
`table_description` TEXT,
|
||||
`col_name` TEXT,
|
||||
`col_comment` TEXT,
|
||||
`col_description` TEXT,
|
||||
update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX IDX_GROUP_ID (group_id),
|
||||
INDEX IDX_PROJECT_ID (project_id),
|
||||
INDEX IDX_TABLE_DOCUMENT_ID (table_document_id),
|
||||
FULLTEXT FIDX_COLUMN (col_name, col_comment, database_product_name) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_TABLE (`table_name`, table_comment, database_product_name) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_PROJECT (project_name, project_description, SCHEMA_NAME, database_name,
|
||||
database_type) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_GROUP (group_name, group_description) WITH PARSER ngram
|
||||
INDEX IDX_GROUP_ID (group_id),
|
||||
INDEX IDX_PROJECT_ID (project_id),
|
||||
INDEX IDX_TABLE_DOCUMENT_ID (table_document_id),
|
||||
FULLTEXT FIDX_COLUMN (col_name, col_comment, col_description, database_product_name) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_TABLE (`table_name`, table_comment, table_description, database_product_name) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_PROJECT (project_name, project_description, SCHEMA_NAME, database_name,
|
||||
database_type) WITH PARSER ngram,
|
||||
FULLTEXT FIDX_GROUP (group_name, group_description) WITH PARSER ngram
|
||||
) CHARSET utf8mb4
|
||||
COLLATE utf8mb4_unicode_ci;
|
Reference in New Issue
Block a user