refactor: update primarky logic

This commit is contained in:
vran 2022-02-01 14:07:15 +08:00
parent 5a9a42eaf7
commit 1e6846c9b0
17 changed files with 141 additions and 131 deletions

View File

@ -51,7 +51,6 @@ public interface DocumentPojoConverter extends BaseConverter {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Mapping(target = "isPrimary", source = "meta.isPrimaryKey")
@Mapping(target = "isUnique", source = "meta.isUniqueKey") @Mapping(target = "isUnique", source = "meta.isUniqueKey")
@Mapping(target = "columnNameArray", source = "meta.columnNames") @Mapping(target = "columnNameArray", source = "meta.columnNames")
TableIndexDocumentPojo toIndexPojo(Integer databaseDocumentId, TableIndexDocumentPojo toIndexPojo(Integer databaseDocumentId,

View File

@ -72,6 +72,8 @@ public class DatabaseDocumentResponse {
private String comment; private String comment;
private Boolean isPrimaryKey;
private String nullable; private String nullable;
private String autoIncrement; private String autoIncrement;
@ -91,8 +93,6 @@ public class DatabaseDocumentResponse {
private String name; private String name;
private Boolean isPrimary;
private Boolean isUnique; private Boolean isUnique;
@Builder.Default @Builder.Default

View File

@ -19,7 +19,7 @@ import org.jooq.Identity;
import org.jooq.Index; import org.jooq.Index;
import org.jooq.Name; import org.jooq.Name;
import org.jooq.Record; import org.jooq.Record;
import org.jooq.Row12; import org.jooq.Row13;
import org.jooq.Schema; import org.jooq.Schema;
import org.jooq.Table; import org.jooq.Table;
import org.jooq.TableField; import org.jooq.TableField;
@ -98,6 +98,11 @@ public class TableColumnDocument extends TableImpl<TableColumnDocumentRecord> {
*/ */
public final TableField<TableColumnDocumentRecord, Integer> DECIMAL_DIGITS = createField(DSL.name("decimal_digits"), SQLDataType.INTEGER, this, ""); public final TableField<TableColumnDocumentRecord, Integer> DECIMAL_DIGITS = createField(DSL.name("decimal_digits"), SQLDataType.INTEGER, this, "");
/**
* The column <code>databasir.table_column_document.is_primary_key</code>.
*/
public final TableField<TableColumnDocumentRecord, Boolean> IS_PRIMARY_KEY = createField(DSL.name("is_primary_key"), SQLDataType.BOOLEAN.nullable(false), this, "");
/** /**
* The column <code>databasir.table_column_document.nullable</code>. YES, * The column <code>databasir.table_column_document.nullable</code>. YES,
* NO, UNKNOWN * NO, UNKNOWN
@ -197,11 +202,11 @@ public class TableColumnDocument extends TableImpl<TableColumnDocumentRecord> {
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Row12 type methods // Row13 type methods
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row12<Integer, Integer, Integer, String, String, String, String, Integer, Integer, String, String, LocalDateTime> fieldsRow() { public Row13<Integer, Integer, Integer, String, String, String, String, Integer, Integer, Boolean, String, String, LocalDateTime> fieldsRow() {
return (Row12) super.fieldsRow(); return (Row13) super.fieldsRow();
} }
} }

View File

@ -20,7 +20,7 @@ import org.jooq.Index;
import org.jooq.JSON; import org.jooq.JSON;
import org.jooq.Name; import org.jooq.Name;
import org.jooq.Record; import org.jooq.Record;
import org.jooq.Row8; import org.jooq.Row7;
import org.jooq.Schema; import org.jooq.Schema;
import org.jooq.Table; import org.jooq.Table;
import org.jooq.TableField; import org.jooq.TableField;
@ -73,11 +73,6 @@ public class TableIndexDocument extends TableImpl<TableIndexDocumentRecord> {
*/ */
public final TableField<TableIndexDocumentRecord, String> NAME = createField(DSL.name("name"), SQLDataType.CLOB.nullable(false), this, ""); public final TableField<TableIndexDocumentRecord, String> NAME = createField(DSL.name("name"), SQLDataType.CLOB.nullable(false), this, "");
/**
* The column <code>databasir.table_index_document.is_primary</code>.
*/
public final TableField<TableIndexDocumentRecord, Boolean> IS_PRIMARY = createField(DSL.name("is_primary"), SQLDataType.BOOLEAN.nullable(false), this, "");
/** /**
* The column <code>databasir.table_index_document.is_unique</code>. * The column <code>databasir.table_index_document.is_unique</code>.
*/ */
@ -175,11 +170,11 @@ public class TableIndexDocument extends TableImpl<TableIndexDocumentRecord> {
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Row8 type methods // Row7 type methods
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row8<Integer, Integer, Integer, String, Boolean, Boolean, JSON, LocalDateTime> fieldsRow() { public Row7<Integer, Integer, Integer, String, Boolean, JSON, LocalDateTime> fieldsRow() {
return (Row8) super.fieldsRow(); return (Row7) super.fieldsRow();
} }
} }

View File

@ -25,6 +25,7 @@ public class TableColumnDocumentPojo implements Serializable {
private String defaultValue; private String defaultValue;
private Integer size; private Integer size;
private Integer decimalDigits; private Integer decimalDigits;
private Boolean isPrimaryKey;
private String nullable; private String nullable;
private String autoIncrement; private String autoIncrement;
private LocalDateTime createAt; private LocalDateTime createAt;
@ -41,6 +42,7 @@ public class TableColumnDocumentPojo implements Serializable {
this.defaultValue = value.defaultValue; this.defaultValue = value.defaultValue;
this.size = value.size; this.size = value.size;
this.decimalDigits = value.decimalDigits; this.decimalDigits = value.decimalDigits;
this.isPrimaryKey = value.isPrimaryKey;
this.nullable = value.nullable; this.nullable = value.nullable;
this.autoIncrement = value.autoIncrement; this.autoIncrement = value.autoIncrement;
this.createAt = value.createAt; this.createAt = value.createAt;
@ -56,6 +58,7 @@ public class TableColumnDocumentPojo implements Serializable {
String defaultValue, String defaultValue,
Integer size, Integer size,
Integer decimalDigits, Integer decimalDigits,
Boolean isPrimaryKey,
String nullable, String nullable,
String autoIncrement, String autoIncrement,
LocalDateTime createAt LocalDateTime createAt
@ -69,6 +72,7 @@ public class TableColumnDocumentPojo implements Serializable {
this.defaultValue = defaultValue; this.defaultValue = defaultValue;
this.size = size; this.size = size;
this.decimalDigits = decimalDigits; this.decimalDigits = decimalDigits;
this.isPrimaryKey = isPrimaryKey;
this.nullable = nullable; this.nullable = nullable;
this.autoIncrement = autoIncrement; this.autoIncrement = autoIncrement;
this.createAt = createAt; this.createAt = createAt;
@ -204,6 +208,20 @@ public class TableColumnDocumentPojo implements Serializable {
this.decimalDigits = decimalDigits; this.decimalDigits = decimalDigits;
} }
/**
* Getter for <code>databasir.table_column_document.is_primary_key</code>.
*/
public Boolean getIsPrimaryKey() {
return this.isPrimaryKey;
}
/**
* Setter for <code>databasir.table_column_document.is_primary_key</code>.
*/
public void setIsPrimaryKey(Boolean isPrimaryKey) {
this.isPrimaryKey = isPrimaryKey;
}
/** /**
* Getter for <code>databasir.table_column_document.nullable</code>. YES, * Getter for <code>databasir.table_column_document.nullable</code>. YES,
* NO, UNKNOWN * NO, UNKNOWN
@ -263,6 +281,7 @@ public class TableColumnDocumentPojo implements Serializable {
sb.append(", ").append(defaultValue); sb.append(", ").append(defaultValue);
sb.append(", ").append(size); sb.append(", ").append(size);
sb.append(", ").append(decimalDigits); sb.append(", ").append(decimalDigits);
sb.append(", ").append(isPrimaryKey);
sb.append(", ").append(nullable); sb.append(", ").append(nullable);
sb.append(", ").append(autoIncrement); sb.append(", ").append(autoIncrement);
sb.append(", ").append(createAt); sb.append(", ").append(createAt);

View File

@ -22,7 +22,6 @@ public class TableIndexDocumentPojo implements Serializable {
private Integer tableDocumentId; private Integer tableDocumentId;
private Integer databaseDocumentId; private Integer databaseDocumentId;
private String name; private String name;
private Boolean isPrimary;
private Boolean isUnique; private Boolean isUnique;
private JSON columnNameArray; private JSON columnNameArray;
private LocalDateTime createAt; private LocalDateTime createAt;
@ -34,7 +33,6 @@ public class TableIndexDocumentPojo implements Serializable {
this.tableDocumentId = value.tableDocumentId; this.tableDocumentId = value.tableDocumentId;
this.databaseDocumentId = value.databaseDocumentId; this.databaseDocumentId = value.databaseDocumentId;
this.name = value.name; this.name = value.name;
this.isPrimary = value.isPrimary;
this.isUnique = value.isUnique; this.isUnique = value.isUnique;
this.columnNameArray = value.columnNameArray; this.columnNameArray = value.columnNameArray;
this.createAt = value.createAt; this.createAt = value.createAt;
@ -45,7 +43,6 @@ public class TableIndexDocumentPojo implements Serializable {
Integer tableDocumentId, Integer tableDocumentId,
Integer databaseDocumentId, Integer databaseDocumentId,
String name, String name,
Boolean isPrimary,
Boolean isUnique, Boolean isUnique,
JSON columnNameArray, JSON columnNameArray,
LocalDateTime createAt LocalDateTime createAt
@ -54,7 +51,6 @@ public class TableIndexDocumentPojo implements Serializable {
this.tableDocumentId = tableDocumentId; this.tableDocumentId = tableDocumentId;
this.databaseDocumentId = databaseDocumentId; this.databaseDocumentId = databaseDocumentId;
this.name = name; this.name = name;
this.isPrimary = isPrimary;
this.isUnique = isUnique; this.isUnique = isUnique;
this.columnNameArray = columnNameArray; this.columnNameArray = columnNameArray;
this.createAt = createAt; this.createAt = createAt;
@ -118,20 +114,6 @@ public class TableIndexDocumentPojo implements Serializable {
this.name = name; this.name = name;
} }
/**
* Getter for <code>databasir.table_index_document.is_primary</code>.
*/
public Boolean getIsPrimary() {
return this.isPrimary;
}
/**
* Setter for <code>databasir.table_index_document.is_primary</code>.
*/
public void setIsPrimary(Boolean isPrimary) {
this.isPrimary = isPrimary;
}
/** /**
* Getter for <code>databasir.table_index_document.is_unique</code>. * Getter for <code>databasir.table_index_document.is_unique</code>.
*/ */
@ -182,7 +164,6 @@ public class TableIndexDocumentPojo implements Serializable {
sb.append(", ").append(tableDocumentId); sb.append(", ").append(tableDocumentId);
sb.append(", ").append(databaseDocumentId); sb.append(", ").append(databaseDocumentId);
sb.append(", ").append(name); sb.append(", ").append(name);
sb.append(", ").append(isPrimary);
sb.append(", ").append(isUnique); sb.append(", ").append(isUnique);
sb.append(", ").append(columnNameArray); sb.append(", ").append(columnNameArray);
sb.append(", ").append(createAt); sb.append(", ").append(createAt);

View File

@ -11,8 +11,8 @@ import java.time.LocalDateTime;
import org.jooq.Field; import org.jooq.Field;
import org.jooq.Record1; import org.jooq.Record1;
import org.jooq.Record12; import org.jooq.Record13;
import org.jooq.Row12; import org.jooq.Row13;
import org.jooq.impl.UpdatableRecordImpl; import org.jooq.impl.UpdatableRecordImpl;
@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDocumentRecord> implements Record12<Integer, Integer, Integer, String, String, String, String, Integer, Integer, String, String, LocalDateTime> { public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDocumentRecord> implements Record13<Integer, Integer, Integer, String, String, String, String, Integer, Integer, Boolean, String, String, LocalDateTime> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -154,12 +154,26 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
return (Integer) get(8); return (Integer) get(8);
} }
/**
* Setter for <code>databasir.table_column_document.is_primary_key</code>.
*/
public void setIsPrimaryKey(Boolean value) {
set(9, value);
}
/**
* Getter for <code>databasir.table_column_document.is_primary_key</code>.
*/
public Boolean getIsPrimaryKey() {
return (Boolean) get(9);
}
/** /**
* Setter for <code>databasir.table_column_document.nullable</code>. YES, * Setter for <code>databasir.table_column_document.nullable</code>. YES,
* NO, UNKNOWN * NO, UNKNOWN
*/ */
public void setNullable(String value) { public void setNullable(String value) {
set(9, value); set(10, value);
} }
/** /**
@ -167,7 +181,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
* NO, UNKNOWN * NO, UNKNOWN
*/ */
public String getNullable() { public String getNullable() {
return (String) get(9); return (String) get(10);
} }
/** /**
@ -175,7 +189,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
* YES, NO, UNKNOWN * YES, NO, UNKNOWN
*/ */
public void setAutoIncrement(String value) { public void setAutoIncrement(String value) {
set(10, value); set(11, value);
} }
/** /**
@ -183,21 +197,21 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
* YES, NO, UNKNOWN * YES, NO, UNKNOWN
*/ */
public String getAutoIncrement() { public String getAutoIncrement() {
return (String) get(10); return (String) get(11);
} }
/** /**
* Setter for <code>databasir.table_column_document.create_at</code>. * Setter for <code>databasir.table_column_document.create_at</code>.
*/ */
public void setCreateAt(LocalDateTime value) { public void setCreateAt(LocalDateTime value) {
set(11, value); set(12, value);
} }
/** /**
* Getter for <code>databasir.table_column_document.create_at</code>. * Getter for <code>databasir.table_column_document.create_at</code>.
*/ */
public LocalDateTime getCreateAt() { public LocalDateTime getCreateAt() {
return (LocalDateTime) get(11); return (LocalDateTime) get(12);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@ -210,17 +224,17 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Record12 type implementation // Record13 type implementation
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row12<Integer, Integer, Integer, String, String, String, String, Integer, Integer, String, String, LocalDateTime> fieldsRow() { public Row13<Integer, Integer, Integer, String, String, String, String, Integer, Integer, Boolean, String, String, LocalDateTime> fieldsRow() {
return (Row12) super.fieldsRow(); return (Row13) super.fieldsRow();
} }
@Override @Override
public Row12<Integer, Integer, Integer, String, String, String, String, Integer, Integer, String, String, LocalDateTime> valuesRow() { public Row13<Integer, Integer, Integer, String, String, String, String, Integer, Integer, Boolean, String, String, LocalDateTime> valuesRow() {
return (Row12) super.valuesRow(); return (Row13) super.valuesRow();
} }
@Override @Override
@ -269,17 +283,22 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
} }
@Override @Override
public Field<String> field10() { public Field<Boolean> field10() {
return TableColumnDocument.TABLE_COLUMN_DOCUMENT.NULLABLE; return TableColumnDocument.TABLE_COLUMN_DOCUMENT.IS_PRIMARY_KEY;
} }
@Override @Override
public Field<String> field11() { public Field<String> field11() {
return TableColumnDocument.TABLE_COLUMN_DOCUMENT.NULLABLE;
}
@Override
public Field<String> field12() {
return TableColumnDocument.TABLE_COLUMN_DOCUMENT.AUTO_INCREMENT; return TableColumnDocument.TABLE_COLUMN_DOCUMENT.AUTO_INCREMENT;
} }
@Override @Override
public Field<LocalDateTime> field12() { public Field<LocalDateTime> field13() {
return TableColumnDocument.TABLE_COLUMN_DOCUMENT.CREATE_AT; return TableColumnDocument.TABLE_COLUMN_DOCUMENT.CREATE_AT;
} }
@ -329,17 +348,22 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
} }
@Override @Override
public String component10() { public Boolean component10() {
return getNullable(); return getIsPrimaryKey();
} }
@Override @Override
public String component11() { public String component11() {
return getNullable();
}
@Override
public String component12() {
return getAutoIncrement(); return getAutoIncrement();
} }
@Override @Override
public LocalDateTime component12() { public LocalDateTime component13() {
return getCreateAt(); return getCreateAt();
} }
@ -389,17 +413,22 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
} }
@Override @Override
public String value10() { public Boolean value10() {
return getNullable(); return getIsPrimaryKey();
} }
@Override @Override
public String value11() { public String value11() {
return getNullable();
}
@Override
public String value12() {
return getAutoIncrement(); return getAutoIncrement();
} }
@Override @Override
public LocalDateTime value12() { public LocalDateTime value13() {
return getCreateAt(); return getCreateAt();
} }
@ -458,25 +487,31 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
} }
@Override @Override
public TableColumnDocumentRecord value10(String value) { public TableColumnDocumentRecord value10(Boolean value) {
setNullable(value); setIsPrimaryKey(value);
return this; return this;
} }
@Override @Override
public TableColumnDocumentRecord value11(String value) { public TableColumnDocumentRecord value11(String value) {
setNullable(value);
return this;
}
@Override
public TableColumnDocumentRecord value12(String value) {
setAutoIncrement(value); setAutoIncrement(value);
return this; return this;
} }
@Override @Override
public TableColumnDocumentRecord value12(LocalDateTime value) { public TableColumnDocumentRecord value13(LocalDateTime value) {
setCreateAt(value); setCreateAt(value);
return this; return this;
} }
@Override @Override
public TableColumnDocumentRecord values(Integer value1, Integer value2, Integer value3, String value4, String value5, String value6, String value7, Integer value8, Integer value9, String value10, String value11, LocalDateTime value12) { public TableColumnDocumentRecord values(Integer value1, Integer value2, Integer value3, String value4, String value5, String value6, String value7, Integer value8, Integer value9, Boolean value10, String value11, String value12, LocalDateTime value13) {
value1(value1); value1(value1);
value2(value2); value2(value2);
value3(value3); value3(value3);
@ -489,6 +524,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
value10(value10); value10(value10);
value11(value11); value11(value11);
value12(value12); value12(value12);
value13(value13);
return this; return this;
} }
@ -506,7 +542,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
/** /**
* Create a detached, initialised TableColumnDocumentRecord * Create a detached, initialised TableColumnDocumentRecord
*/ */
public TableColumnDocumentRecord(Integer id, Integer tableDocumentId, Integer databaseDocumentId, String name, String type, String comment, String defaultValue, Integer size, Integer decimalDigits, String nullable, String autoIncrement, LocalDateTime createAt) { public TableColumnDocumentRecord(Integer id, Integer tableDocumentId, Integer databaseDocumentId, String name, String type, String comment, String defaultValue, Integer size, Integer decimalDigits, Boolean isPrimaryKey, String nullable, String autoIncrement, LocalDateTime createAt) {
super(TableColumnDocument.TABLE_COLUMN_DOCUMENT); super(TableColumnDocument.TABLE_COLUMN_DOCUMENT);
setId(id); setId(id);
@ -518,6 +554,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
setDefaultValue(defaultValue); setDefaultValue(defaultValue);
setSize(size); setSize(size);
setDecimalDigits(decimalDigits); setDecimalDigits(decimalDigits);
setIsPrimaryKey(isPrimaryKey);
setNullable(nullable); setNullable(nullable);
setAutoIncrement(autoIncrement); setAutoIncrement(autoIncrement);
setCreateAt(createAt); setCreateAt(createAt);
@ -539,6 +576,7 @@ public class TableColumnDocumentRecord extends UpdatableRecordImpl<TableColumnDo
setDefaultValue(value.getDefaultValue()); setDefaultValue(value.getDefaultValue());
setSize(value.getSize()); setSize(value.getSize());
setDecimalDigits(value.getDecimalDigits()); setDecimalDigits(value.getDecimalDigits());
setIsPrimaryKey(value.getIsPrimaryKey());
setNullable(value.getNullable()); setNullable(value.getNullable());
setAutoIncrement(value.getAutoIncrement()); setAutoIncrement(value.getAutoIncrement());
setCreateAt(value.getCreateAt()); setCreateAt(value.getCreateAt());

View File

@ -12,8 +12,8 @@ import java.time.LocalDateTime;
import org.jooq.Field; import org.jooq.Field;
import org.jooq.JSON; import org.jooq.JSON;
import org.jooq.Record1; import org.jooq.Record1;
import org.jooq.Record8; import org.jooq.Record7;
import org.jooq.Row8; import org.jooq.Row7;
import org.jooq.impl.UpdatableRecordImpl; import org.jooq.impl.UpdatableRecordImpl;
@ -21,7 +21,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocumentRecord> implements Record8<Integer, Integer, Integer, String, Boolean, Boolean, JSON, LocalDateTime> { public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocumentRecord> implements Record7<Integer, Integer, Integer, String, Boolean, JSON, LocalDateTime> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -83,60 +83,46 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
return (String) get(3); return (String) get(3);
} }
/**
* Setter for <code>databasir.table_index_document.is_primary</code>.
*/
public void setIsPrimary(Boolean value) {
set(4, value);
}
/**
* Getter for <code>databasir.table_index_document.is_primary</code>.
*/
public Boolean getIsPrimary() {
return (Boolean) get(4);
}
/** /**
* Setter for <code>databasir.table_index_document.is_unique</code>. * Setter for <code>databasir.table_index_document.is_unique</code>.
*/ */
public void setIsUnique(Boolean value) { public void setIsUnique(Boolean value) {
set(5, value); set(4, value);
} }
/** /**
* Getter for <code>databasir.table_index_document.is_unique</code>. * Getter for <code>databasir.table_index_document.is_unique</code>.
*/ */
public Boolean getIsUnique() { public Boolean getIsUnique() {
return (Boolean) get(5); return (Boolean) get(4);
} }
/** /**
* Setter for <code>databasir.table_index_document.column_name_array</code>. * Setter for <code>databasir.table_index_document.column_name_array</code>.
*/ */
public void setColumnNameArray(JSON value) { public void setColumnNameArray(JSON value) {
set(6, value); set(5, value);
} }
/** /**
* Getter for <code>databasir.table_index_document.column_name_array</code>. * Getter for <code>databasir.table_index_document.column_name_array</code>.
*/ */
public JSON getColumnNameArray() { public JSON getColumnNameArray() {
return (JSON) get(6); return (JSON) get(5);
} }
/** /**
* Setter for <code>databasir.table_index_document.create_at</code>. * Setter for <code>databasir.table_index_document.create_at</code>.
*/ */
public void setCreateAt(LocalDateTime value) { public void setCreateAt(LocalDateTime value) {
set(7, value); set(6, value);
} }
/** /**
* Getter for <code>databasir.table_index_document.create_at</code>. * Getter for <code>databasir.table_index_document.create_at</code>.
*/ */
public LocalDateTime getCreateAt() { public LocalDateTime getCreateAt() {
return (LocalDateTime) get(7); return (LocalDateTime) get(6);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@ -149,17 +135,17 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Record8 type implementation // Record7 type implementation
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row8<Integer, Integer, Integer, String, Boolean, Boolean, JSON, LocalDateTime> fieldsRow() { public Row7<Integer, Integer, Integer, String, Boolean, JSON, LocalDateTime> fieldsRow() {
return (Row8) super.fieldsRow(); return (Row7) super.fieldsRow();
} }
@Override @Override
public Row8<Integer, Integer, Integer, String, Boolean, Boolean, JSON, LocalDateTime> valuesRow() { public Row7<Integer, Integer, Integer, String, Boolean, JSON, LocalDateTime> valuesRow() {
return (Row8) super.valuesRow(); return (Row7) super.valuesRow();
} }
@Override @Override
@ -184,21 +170,16 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
@Override @Override
public Field<Boolean> field5() { public Field<Boolean> field5() {
return TableIndexDocument.TABLE_INDEX_DOCUMENT.IS_PRIMARY;
}
@Override
public Field<Boolean> field6() {
return TableIndexDocument.TABLE_INDEX_DOCUMENT.IS_UNIQUE; return TableIndexDocument.TABLE_INDEX_DOCUMENT.IS_UNIQUE;
} }
@Override @Override
public Field<JSON> field7() { public Field<JSON> field6() {
return TableIndexDocument.TABLE_INDEX_DOCUMENT.COLUMN_NAME_ARRAY; return TableIndexDocument.TABLE_INDEX_DOCUMENT.COLUMN_NAME_ARRAY;
} }
@Override @Override
public Field<LocalDateTime> field8() { public Field<LocalDateTime> field7() {
return TableIndexDocument.TABLE_INDEX_DOCUMENT.CREATE_AT; return TableIndexDocument.TABLE_INDEX_DOCUMENT.CREATE_AT;
} }
@ -224,21 +205,16 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
@Override @Override
public Boolean component5() { public Boolean component5() {
return getIsPrimary();
}
@Override
public Boolean component6() {
return getIsUnique(); return getIsUnique();
} }
@Override @Override
public JSON component7() { public JSON component6() {
return getColumnNameArray(); return getColumnNameArray();
} }
@Override @Override
public LocalDateTime component8() { public LocalDateTime component7() {
return getCreateAt(); return getCreateAt();
} }
@ -264,21 +240,16 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
@Override @Override
public Boolean value5() { public Boolean value5() {
return getIsPrimary();
}
@Override
public Boolean value6() {
return getIsUnique(); return getIsUnique();
} }
@Override @Override
public JSON value7() { public JSON value6() {
return getColumnNameArray(); return getColumnNameArray();
} }
@Override @Override
public LocalDateTime value8() { public LocalDateTime value7() {
return getCreateAt(); return getCreateAt();
} }
@ -308,30 +279,24 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
@Override @Override
public TableIndexDocumentRecord value5(Boolean value) { public TableIndexDocumentRecord value5(Boolean value) {
setIsPrimary(value);
return this;
}
@Override
public TableIndexDocumentRecord value6(Boolean value) {
setIsUnique(value); setIsUnique(value);
return this; return this;
} }
@Override @Override
public TableIndexDocumentRecord value7(JSON value) { public TableIndexDocumentRecord value6(JSON value) {
setColumnNameArray(value); setColumnNameArray(value);
return this; return this;
} }
@Override @Override
public TableIndexDocumentRecord value8(LocalDateTime value) { public TableIndexDocumentRecord value7(LocalDateTime value) {
setCreateAt(value); setCreateAt(value);
return this; return this;
} }
@Override @Override
public TableIndexDocumentRecord values(Integer value1, Integer value2, Integer value3, String value4, Boolean value5, Boolean value6, JSON value7, LocalDateTime value8) { public TableIndexDocumentRecord values(Integer value1, Integer value2, Integer value3, String value4, Boolean value5, JSON value6, LocalDateTime value7) {
value1(value1); value1(value1);
value2(value2); value2(value2);
value3(value3); value3(value3);
@ -339,7 +304,6 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
value5(value5); value5(value5);
value6(value6); value6(value6);
value7(value7); value7(value7);
value8(value8);
return this; return this;
} }
@ -357,14 +321,13 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
/** /**
* Create a detached, initialised TableIndexDocumentRecord * Create a detached, initialised TableIndexDocumentRecord
*/ */
public TableIndexDocumentRecord(Integer id, Integer tableDocumentId, Integer databaseDocumentId, String name, Boolean isPrimary, Boolean isUnique, JSON columnNameArray, LocalDateTime createAt) { public TableIndexDocumentRecord(Integer id, Integer tableDocumentId, Integer databaseDocumentId, String name, Boolean isUnique, JSON columnNameArray, LocalDateTime createAt) {
super(TableIndexDocument.TABLE_INDEX_DOCUMENT); super(TableIndexDocument.TABLE_INDEX_DOCUMENT);
setId(id); setId(id);
setTableDocumentId(tableDocumentId); setTableDocumentId(tableDocumentId);
setDatabaseDocumentId(databaseDocumentId); setDatabaseDocumentId(databaseDocumentId);
setName(name); setName(name);
setIsPrimary(isPrimary);
setIsUnique(isUnique); setIsUnique(isUnique);
setColumnNameArray(columnNameArray); setColumnNameArray(columnNameArray);
setCreateAt(createAt); setCreateAt(createAt);
@ -381,7 +344,6 @@ public class TableIndexDocumentRecord extends UpdatableRecordImpl<TableIndexDocu
setTableDocumentId(value.getTableDocumentId()); setTableDocumentId(value.getTableDocumentId());
setDatabaseDocumentId(value.getDatabaseDocumentId()); setDatabaseDocumentId(value.getDatabaseDocumentId());
setName(value.getName()); setName(value.getName());
setIsPrimary(value.getIsPrimary());
setIsUnique(value.getIsUnique()); setIsUnique(value.getIsUnique());
setColumnNameArray(value.getColumnNameArray()); setColumnNameArray(value.getColumnNameArray());
setCreateAt(value.getCreateAt()); setCreateAt(value.getCreateAt());

View File

@ -4,6 +4,7 @@ package com.databasir.dao.impl;
import com.databasir.dao.exception.DataNotExistsException; import com.databasir.dao.exception.DataNotExistsException;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.jooq.*; import org.jooq.*;
import org.jooq.Record;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;

View File

@ -167,6 +167,7 @@ CREATE TABLE table_column_document
default_value VARCHAR(512) DEFAULT NULL, default_value VARCHAR(512) DEFAULT NULL,
size INT NOT NULL, size INT NOT NULL,
decimal_digits INT DEFAULT NULL, decimal_digits INT DEFAULT NULL,
is_primary_key BOOLEAN NOT NULL,
nullable VARCHAR(64) NOT NULL COMMENT 'YES, NO, UNKNOWN', nullable VARCHAR(64) NOT NULL COMMENT 'YES, NO, UNKNOWN',
auto_increment VARCHAR(64) NOT NULL COMMENT 'YES, NO, UNKNOWN', auto_increment VARCHAR(64) NOT NULL COMMENT 'YES, NO, UNKNOWN',
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
@ -182,7 +183,6 @@ CREATE TABLE table_index_document
table_document_id INT NOT NULL, table_document_id INT NOT NULL,
database_document_id INT NOT NULL, database_document_id INT NOT NULL,
name TEXT NOT NULL, name TEXT NOT NULL,
is_primary BOOLEAN NOT NULL,
is_unique BOOLEAN NOT NULL, is_unique BOOLEAN NOT NULL,
column_name_array JSON NOT NULL, column_name_array JSON NOT NULL,
create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

View File

@ -26,4 +26,5 @@ public class ColumnMeta {
private String autoIncrement; private String autoIncrement;
private Boolean isPrimaryKey;
} }

View File

@ -15,7 +15,5 @@ public class IndexMeta {
@Builder.Default @Builder.Default
private List<String> columnNames = Collections.emptyList(); private List<String> columnNames = Collections.emptyList();
private Boolean isPrimaryKey;
private Boolean isUniqueKey; private Boolean isUniqueKey;
} }

View File

@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
@ -29,6 +30,7 @@ public class JdbcColumnMetaRepository implements ColumnMetaRepository {
List<ColumnMeta> columnDocs = new ArrayList<>(); List<ColumnMeta> columnDocs = new ArrayList<>();
String databaseName = tableCondition.getDatabaseName(); String databaseName = tableCondition.getDatabaseName();
String tableName = tableCondition.getTableName(); String tableName = tableCondition.getTableName();
List<String> primaryKeyColumns = selectPrimaryKeyColumns(connection.getMetaData(), databaseName, tableName);
ResultSet columnsResult; ResultSet columnsResult;
try { try {
columnsResult = connection.getMetaData().getColumns(databaseName, null, tableName, null); columnsResult = connection.getMetaData().getColumns(databaseName, null, tableName, null);
@ -73,6 +75,7 @@ public class JdbcColumnMetaRepository implements ColumnMetaRepository {
.autoIncrement(isAutoIncrement) .autoIncrement(isAutoIncrement)
.comment(columnComment) .comment(columnComment)
.defaultValue(defaultValue) .defaultValue(defaultValue)
.isPrimaryKey(primaryKeyColumns.contains(columnName))
.build(); .build();
columnDocs.add(columnMeta); columnDocs.add(columnMeta);
} }
@ -80,4 +83,14 @@ public class JdbcColumnMetaRepository implements ColumnMetaRepository {
} }
return columnDocs; return columnDocs;
} }
private List<String> selectPrimaryKeyColumns(DatabaseMetaData meta, String catalog, String tableName) throws SQLException {
ResultSet result = meta.getPrimaryKeys(catalog, null, tableName);
List<String> columns = new ArrayList<>();
while (result.next()) {
String columnName = result.getString("COLUMN_NAME");
columns.add(columnName);
}
return columns;
}
} }

View File

@ -47,7 +47,6 @@ public class JdbcIndexMetaRepository implements IndexMetaRepository {
IndexMeta indexMeta = IndexMeta.builder() IndexMeta indexMeta = IndexMeta.builder()
.name(indexName) .name(indexName)
.columnNames(columns) .columnNames(columns)
.isPrimaryKey(Objects.equals("PRIMARY", indexName))
.isUniqueKey(Objects.equals(nonUnique, false)) .isUniqueKey(Objects.equals(nonUnique, false))
.build(); .build();
pojoGroupByName.put(indexName, indexMeta); pojoGroupByName.put(indexName, indexMeta);

View File

@ -57,7 +57,6 @@ public class RenderConfig {
protected LinkedHashMap<String, Function<IndexMeta, String>> indexTitleAndValueMapping() { protected LinkedHashMap<String, Function<IndexMeta, String>> indexTitleAndValueMapping() {
LinkedHashMap<String, Function<IndexMeta, String>> mapping = new LinkedHashMap<>(); LinkedHashMap<String, Function<IndexMeta, String>> mapping = new LinkedHashMap<>();
mapping.put("Name", IndexMeta::getName); mapping.put("Name", IndexMeta::getName);
mapping.put("IsPrimary", index -> index.getIsPrimaryKey() ? "YES" : "");
mapping.put("IsUnique", index -> index.getIsUniqueKey() ? "YES" : ""); mapping.put("IsUnique", index -> index.getIsUniqueKey() ? "YES" : "");
mapping.put("Columns", index -> String.join(", ", index.getColumnNames())); mapping.put("Columns", index -> String.join(", ", index.getColumnNames()));
return mapping; return mapping;

View File

@ -33,7 +33,7 @@ public class App {
// this config is used by mysql // this config is used by mysql
info.put("useInformationSchema", "true"); info.put("useInformationSchema", "true");
String url = "jdbc:mysql://localhost:3306/patient?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"; String url = "jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true";
return DriverManager.getConnection(url, info); return DriverManager.getConnection(url, info);
} }
} }

0
plugin/user.md Normal file
View File