feat: update frontend resources

This commit is contained in:
vran
2022-05-29 21:04:39 +08:00
parent a1a3b3d022
commit 767df70a47
29 changed files with 285 additions and 577 deletions

View File

@@ -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();
}
}

View File

@@ -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;

View File

@@ -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;