diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/Databasir.java b/dao/generated-src/jooq/main/java/com/databasir/dao/Databasir.java
index 54ca3e2..b561dec 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/Databasir.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/Databasir.java
@@ -20,6 +20,7 @@ import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
import com.databasir.dao.tables.TableDocument;
+import com.databasir.dao.tables.TableForeignKeyDocument;
import com.databasir.dao.tables.TableIndexDocument;
import com.databasir.dao.tables.TableTriggerDocument;
import com.databasir.dao.tables.User;
@@ -127,6 +128,11 @@ public class Databasir extends SchemaImpl {
*/
public final TableDocument TABLE_DOCUMENT = TableDocument.TABLE_DOCUMENT;
+ /**
+ * The table databasir.table_foreign_key_document
.
+ */
+ public final TableForeignKeyDocument TABLE_FOREIGN_KEY_DOCUMENT = TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT;
+
/**
* The table databasir.table_index_document
.
*/
@@ -184,6 +190,7 @@ public class Databasir extends SchemaImpl {
SysMail.SYS_MAIL,
TableColumnDocument.TABLE_COLUMN_DOCUMENT,
TableDocument.TABLE_DOCUMENT,
+ TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT,
TableIndexDocument.TABLE_INDEX_DOCUMENT,
TableTriggerDocument.TABLE_TRIGGER_DOCUMENT,
User.USER,
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/Indexes.java b/dao/generated-src/jooq/main/java/com/databasir/dao/Indexes.java
index 9f46d75..e23fdbe 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/Indexes.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/Indexes.java
@@ -9,6 +9,7 @@ import com.databasir.dao.tables.DatabaseDocument;
import com.databasir.dao.tables.DocumentDiscussion;
import com.databasir.dao.tables.TableColumnDocument;
import com.databasir.dao.tables.TableDocument;
+import com.databasir.dao.tables.TableForeignKeyDocument;
import com.databasir.dao.tables.TableIndexDocument;
import com.databasir.dao.tables.TableTriggerDocument;
@@ -31,11 +32,13 @@ public class Indexes {
public static final Index DATA_SOURCE_PROPERTY_IDX_DATA_SOURCE_ID = Internal.createIndex(DSL.name("idx_data_source_id"), DataSourceProperty.DATA_SOURCE_PROPERTY, new OrderField[] { DataSourceProperty.DATA_SOURCE_PROPERTY.DATA_SOURCE_ID }, false);
public static final Index TABLE_COLUMN_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableColumnDocument.TABLE_COLUMN_DOCUMENT, new OrderField[] { TableColumnDocument.TABLE_COLUMN_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
public static final Index TABLE_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableDocument.TABLE_DOCUMENT, new OrderField[] { TableDocument.TABLE_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
+ public static final Index TABLE_FOREIGN_KEY_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT, new OrderField[] { TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
public static final Index TABLE_INDEX_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableIndexDocument.TABLE_INDEX_DOCUMENT, new OrderField[] { TableIndexDocument.TABLE_INDEX_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
public static final Index TABLE_TRIGGER_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableTriggerDocument.TABLE_TRIGGER_DOCUMENT, new OrderField[] { TableTriggerDocument.TABLE_TRIGGER_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
public static final Index DATABASE_DOCUMENT_IDX_PROJECT_ID = Internal.createIndex(DSL.name("idx_project_id"), DatabaseDocument.DATABASE_DOCUMENT, new OrderField[] { DatabaseDocument.DATABASE_DOCUMENT.PROJECT_ID }, false);
public static final Index DOCUMENT_DISCUSSION_IDX_PROJECT_ID = Internal.createIndex(DSL.name("idx_project_id"), DocumentDiscussion.DOCUMENT_DISCUSSION, new OrderField[] { DocumentDiscussion.DOCUMENT_DISCUSSION.PROJECT_ID }, false);
public static final Index TABLE_COLUMN_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableColumnDocument.TABLE_COLUMN_DOCUMENT, new OrderField[] { TableColumnDocument.TABLE_COLUMN_DOCUMENT.TABLE_DOCUMENT_ID }, false);
+ public static final Index TABLE_FOREIGN_KEY_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT, new OrderField[] { TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index TABLE_INDEX_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableIndexDocument.TABLE_INDEX_DOCUMENT, new OrderField[] { TableIndexDocument.TABLE_INDEX_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index TABLE_TRIGGER_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableTriggerDocument.TABLE_TRIGGER_DOCUMENT, new OrderField[] { TableTriggerDocument.TABLE_TRIGGER_DOCUMENT.TABLE_DOCUMENT_ID }, false);
}
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java b/dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java
index e89d050..a3184ef 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/Keys.java
@@ -20,6 +20,7 @@ import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
import com.databasir.dao.tables.TableDocument;
+import com.databasir.dao.tables.TableForeignKeyDocument;
import com.databasir.dao.tables.TableIndexDocument;
import com.databasir.dao.tables.TableTriggerDocument;
import com.databasir.dao.tables.User;
@@ -41,6 +42,7 @@ import com.databasir.dao.tables.records.SysKeyRecord;
import com.databasir.dao.tables.records.SysMailRecord;
import com.databasir.dao.tables.records.TableColumnDocumentRecord;
import com.databasir.dao.tables.records.TableDocumentRecord;
+import com.databasir.dao.tables.records.TableForeignKeyDocumentRecord;
import com.databasir.dao.tables.records.TableIndexDocumentRecord;
import com.databasir.dao.tables.records.TableTriggerDocumentRecord;
import com.databasir.dao.tables.records.UserFavoriteProjectRecord;
@@ -87,6 +89,7 @@ public class Keys {
public static final UniqueKey KEY_SYS_MAIL_PRIMARY = Internal.createUniqueKey(SysMail.SYS_MAIL, DSL.name("KEY_sys_mail_PRIMARY"), new TableField[] { SysMail.SYS_MAIL.ID }, true);
public static final UniqueKey KEY_TABLE_COLUMN_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableColumnDocument.TABLE_COLUMN_DOCUMENT, DSL.name("KEY_table_column_document_PRIMARY"), new TableField[] { TableColumnDocument.TABLE_COLUMN_DOCUMENT.ID }, true);
public static final UniqueKey KEY_TABLE_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableDocument.TABLE_DOCUMENT, DSL.name("KEY_table_document_PRIMARY"), new TableField[] { TableDocument.TABLE_DOCUMENT.ID }, true);
+ public static final UniqueKey KEY_TABLE_FOREIGN_KEY_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT, DSL.name("KEY_table_foreign_key_document_PRIMARY"), new TableField[] { TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.ID }, true);
public static final UniqueKey KEY_TABLE_INDEX_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableIndexDocument.TABLE_INDEX_DOCUMENT, DSL.name("KEY_table_index_document_PRIMARY"), new TableField[] { TableIndexDocument.TABLE_INDEX_DOCUMENT.ID }, true);
public static final UniqueKey KEY_TABLE_TRIGGER_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableTriggerDocument.TABLE_TRIGGER_DOCUMENT, DSL.name("KEY_table_trigger_document_PRIMARY"), new TableField[] { TableTriggerDocument.TABLE_TRIGGER_DOCUMENT.ID }, true);
public static final UniqueKey KEY_USER_PRIMARY = Internal.createUniqueKey(User.USER, DSL.name("KEY_user_PRIMARY"), new TableField[] { User.USER.ID }, true);
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/Tables.java b/dao/generated-src/jooq/main/java/com/databasir/dao/Tables.java
index 930eaba..cd0d18b 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/Tables.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/Tables.java
@@ -20,6 +20,7 @@ import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
import com.databasir.dao.tables.TableDocument;
+import com.databasir.dao.tables.TableForeignKeyDocument;
import com.databasir.dao.tables.TableIndexDocument;
import com.databasir.dao.tables.TableTriggerDocument;
import com.databasir.dao.tables.User;
@@ -113,6 +114,11 @@ public class Tables {
*/
public static final TableDocument TABLE_DOCUMENT = TableDocument.TABLE_DOCUMENT;
+ /**
+ * The table databasir.table_foreign_key_document
.
+ */
+ public static final TableForeignKeyDocument TABLE_FOREIGN_KEY_DOCUMENT = TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT;
+
/**
* The table databasir.table_index_document
.
*/
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/TableForeignKeyDocument.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/TableForeignKeyDocument.java
new file mode 100644
index 0000000..67f3c18
--- /dev/null
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/TableForeignKeyDocument.java
@@ -0,0 +1,213 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package com.databasir.dao.tables;
+
+
+import com.databasir.dao.Databasir;
+import com.databasir.dao.Indexes;
+import com.databasir.dao.Keys;
+import com.databasir.dao.tables.records.TableForeignKeyDocumentRecord;
+
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Identity;
+import org.jooq.Index;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row12;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class TableForeignKeyDocument extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of
+ * databasir.table_foreign_key_document
+ */
+ public static final TableForeignKeyDocument TABLE_FOREIGN_KEY_DOCUMENT = new TableForeignKeyDocument();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return TableForeignKeyDocumentRecord.class;
+ }
+
+ /**
+ * The column databasir.table_foreign_key_document.id
.
+ */
+ public final TableField ID = createField(DSL.name("id"), SQLDataType.INTEGER.nullable(false).identity(true), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.table_document_id
.
+ */
+ public final TableField TABLE_DOCUMENT_ID = createField(DSL.name("table_document_id"), SQLDataType.INTEGER.nullable(false), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.database_document_id
.
+ */
+ public final TableField DATABASE_DOCUMENT_ID = createField(DSL.name("database_document_id"), SQLDataType.INTEGER.nullable(false), this, "");
+
+ /**
+ * The column databasir.table_foreign_key_document.fk_name
.
+ */
+ public final TableField FK_NAME = createField(DSL.name("fk_name"), SQLDataType.VARCHAR(255), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.fk_table_name
.
+ */
+ public final TableField FK_TABLE_NAME = createField(DSL.name("fk_table_name"), SQLDataType.VARCHAR(512).nullable(false), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.fk_column_name
.
+ */
+ public final TableField FK_COLUMN_NAME = createField(DSL.name("fk_column_name"), SQLDataType.VARCHAR(512).nullable(false), this, "");
+
+ /**
+ * The column databasir.table_foreign_key_document.pk_name
.
+ */
+ public final TableField PK_NAME = createField(DSL.name("pk_name"), SQLDataType.VARCHAR(255), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.pk_table_name
.
+ */
+ public final TableField PK_TABLE_NAME = createField(DSL.name("pk_table_name"), SQLDataType.VARCHAR(512).nullable(false), this, "");
+
+ /**
+ * The column
+ * databasir.table_foreign_key_document.pk_column_name
.
+ */
+ public final TableField PK_COLUMN_NAME = createField(DSL.name("pk_column_name"), SQLDataType.VARCHAR(512).nullable(false), this, "");
+
+ /**
+ * The column databasir.table_foreign_key_document.update_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public final TableField UPDATE_RULE = createField(DSL.name("update_rule"), SQLDataType.VARCHAR(128).nullable(false), this, "NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT");
+
+ /**
+ * The column databasir.table_foreign_key_document.delete_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public final TableField DELETE_RULE = createField(DSL.name("delete_rule"), SQLDataType.VARCHAR(128).nullable(false), this, "NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT");
+
+ /**
+ * The column databasir.table_foreign_key_document.create_at
.
+ */
+ public final TableField CREATE_AT = createField(DSL.name("create_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, "");
+
+ private TableForeignKeyDocument(Name alias, Table aliased) {
+ this(alias, aliased, null);
+ }
+
+ private TableForeignKeyDocument(Name alias, Table aliased, Field>[] parameters) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
+ }
+
+ /**
+ * Create an aliased databasir.table_foreign_key_document
table
+ * reference
+ */
+ public TableForeignKeyDocument(String alias) {
+ this(DSL.name(alias), TABLE_FOREIGN_KEY_DOCUMENT);
+ }
+
+ /**
+ * Create an aliased databasir.table_foreign_key_document
table
+ * reference
+ */
+ public TableForeignKeyDocument(Name alias) {
+ this(alias, TABLE_FOREIGN_KEY_DOCUMENT);
+ }
+
+ /**
+ * Create a databasir.table_foreign_key_document
table
+ * reference
+ */
+ public TableForeignKeyDocument() {
+ this(DSL.name("table_foreign_key_document"), null);
+ }
+
+ public TableForeignKeyDocument(Table child, ForeignKey key) {
+ super(child, key, TABLE_FOREIGN_KEY_DOCUMENT);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Databasir.DATABASIR;
+ }
+
+ @Override
+ public List getIndexes() {
+ return Arrays.asList(Indexes.TABLE_FOREIGN_KEY_DOCUMENT_IDX_DATABASE_DOCUMENT_ID, Indexes.TABLE_FOREIGN_KEY_DOCUMENT_IDX_TABLE_DOCUMENT_ID);
+ }
+
+ @Override
+ public Identity getIdentity() {
+ return (Identity) super.getIdentity();
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.KEY_TABLE_FOREIGN_KEY_DOCUMENT_PRIMARY;
+ }
+
+ @Override
+ public TableForeignKeyDocument as(String alias) {
+ return new TableForeignKeyDocument(DSL.name(alias), this);
+ }
+
+ @Override
+ public TableForeignKeyDocument as(Name alias) {
+ return new TableForeignKeyDocument(alias, this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public TableForeignKeyDocument rename(String name) {
+ return new TableForeignKeyDocument(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public TableForeignKeyDocument rename(Name name) {
+ return new TableForeignKeyDocument(name, null);
+ }
+
+ // -------------------------------------------------------------------------
+ // Row12 type methods
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Row12 fieldsRow() {
+ return (Row12) super.fieldsRow();
+ }
+}
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/TableForeignKeyDocumentPojo.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/TableForeignKeyDocumentPojo.java
new file mode 100644
index 0000000..c99c49d
--- /dev/null
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/TableForeignKeyDocumentPojo.java
@@ -0,0 +1,281 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package com.databasir.dao.tables.pojos;
+
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class TableForeignKeyDocumentPojo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private Integer id;
+ private Integer tableDocumentId;
+ private Integer databaseDocumentId;
+ private String fkName;
+ private String fkTableName;
+ private String fkColumnName;
+ private String pkName;
+ private String pkTableName;
+ private String pkColumnName;
+ private String updateRule;
+ private String deleteRule;
+ private LocalDateTime createAt;
+
+ public TableForeignKeyDocumentPojo() {}
+
+ public TableForeignKeyDocumentPojo(TableForeignKeyDocumentPojo value) {
+ this.id = value.id;
+ this.tableDocumentId = value.tableDocumentId;
+ this.databaseDocumentId = value.databaseDocumentId;
+ this.fkName = value.fkName;
+ this.fkTableName = value.fkTableName;
+ this.fkColumnName = value.fkColumnName;
+ this.pkName = value.pkName;
+ this.pkTableName = value.pkTableName;
+ this.pkColumnName = value.pkColumnName;
+ this.updateRule = value.updateRule;
+ this.deleteRule = value.deleteRule;
+ this.createAt = value.createAt;
+ }
+
+ public TableForeignKeyDocumentPojo(
+ Integer id,
+ Integer tableDocumentId,
+ Integer databaseDocumentId,
+ String fkName,
+ String fkTableName,
+ String fkColumnName,
+ String pkName,
+ String pkTableName,
+ String pkColumnName,
+ String updateRule,
+ String deleteRule,
+ LocalDateTime createAt
+ ) {
+ this.id = id;
+ this.tableDocumentId = tableDocumentId;
+ this.databaseDocumentId = databaseDocumentId;
+ this.fkName = fkName;
+ this.fkTableName = fkTableName;
+ this.fkColumnName = fkColumnName;
+ this.pkName = pkName;
+ this.pkTableName = pkTableName;
+ this.pkColumnName = pkColumnName;
+ this.updateRule = updateRule;
+ this.deleteRule = deleteRule;
+ this.createAt = createAt;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.id
.
+ */
+ public Integer getId() {
+ return this.id;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.id
.
+ */
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.table_document_id
.
+ */
+ public Integer getTableDocumentId() {
+ return this.tableDocumentId;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.table_document_id
.
+ */
+ public void setTableDocumentId(Integer tableDocumentId) {
+ this.tableDocumentId = tableDocumentId;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.database_document_id
.
+ */
+ public Integer getDatabaseDocumentId() {
+ return this.databaseDocumentId;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.database_document_id
.
+ */
+ public void setDatabaseDocumentId(Integer databaseDocumentId) {
+ this.databaseDocumentId = databaseDocumentId;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.fk_name
.
+ */
+ public String getFkName() {
+ return this.fkName;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.fk_name
.
+ */
+ public void setFkName(String fkName) {
+ this.fkName = fkName;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.fk_table_name
.
+ */
+ public String getFkTableName() {
+ return this.fkTableName;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.fk_table_name
.
+ */
+ public void setFkTableName(String fkTableName) {
+ this.fkTableName = fkTableName;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.fk_column_name
.
+ */
+ public String getFkColumnName() {
+ return this.fkColumnName;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.fk_column_name
.
+ */
+ public void setFkColumnName(String fkColumnName) {
+ this.fkColumnName = fkColumnName;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.pk_name
.
+ */
+ public String getPkName() {
+ return this.pkName;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.pk_name
.
+ */
+ public void setPkName(String pkName) {
+ this.pkName = pkName;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.pk_table_name
.
+ */
+ public String getPkTableName() {
+ return this.pkTableName;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.pk_table_name
.
+ */
+ public void setPkTableName(String pkTableName) {
+ this.pkTableName = pkTableName;
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.pk_column_name
.
+ */
+ public String getPkColumnName() {
+ return this.pkColumnName;
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.pk_column_name
.
+ */
+ public void setPkColumnName(String pkColumnName) {
+ this.pkColumnName = pkColumnName;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.update_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public String getUpdateRule() {
+ return this.updateRule;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.update_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public void setUpdateRule(String updateRule) {
+ this.updateRule = updateRule;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.delete_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public String getDeleteRule() {
+ return this.deleteRule;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.delete_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public void setDeleteRule(String deleteRule) {
+ this.deleteRule = deleteRule;
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.create_at
.
+ */
+ public LocalDateTime getCreateAt() {
+ return this.createAt;
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.create_at
.
+ */
+ public void setCreateAt(LocalDateTime createAt) {
+ this.createAt = createAt;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("TableForeignKeyDocumentPojo (");
+
+ sb.append(id);
+ sb.append(", ").append(tableDocumentId);
+ sb.append(", ").append(databaseDocumentId);
+ sb.append(", ").append(fkName);
+ sb.append(", ").append(fkTableName);
+ sb.append(", ").append(fkColumnName);
+ sb.append(", ").append(pkName);
+ sb.append(", ").append(pkTableName);
+ sb.append(", ").append(pkColumnName);
+ sb.append(", ").append(updateRule);
+ sb.append(", ").append(deleteRule);
+ sb.append(", ").append(createAt);
+
+ sb.append(")");
+ return sb.toString();
+ }
+}
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/TableForeignKeyDocumentRecord.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/TableForeignKeyDocumentRecord.java
new file mode 100644
index 0000000..6ec3eaf
--- /dev/null
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/TableForeignKeyDocumentRecord.java
@@ -0,0 +1,555 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package com.databasir.dao.tables.records;
+
+
+import com.databasir.dao.tables.TableForeignKeyDocument;
+import com.databasir.dao.tables.pojos.TableForeignKeyDocumentPojo;
+
+import java.time.LocalDateTime;
+
+import org.jooq.Field;
+import org.jooq.Record1;
+import org.jooq.Record12;
+import org.jooq.Row12;
+import org.jooq.impl.UpdatableRecordImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class TableForeignKeyDocumentRecord extends UpdatableRecordImpl implements Record12 {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for databasir.table_foreign_key_document.id
.
+ */
+ public void setId(Integer value) {
+ set(0, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.id
.
+ */
+ public Integer getId() {
+ return (Integer) get(0);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.table_document_id
.
+ */
+ public void setTableDocumentId(Integer value) {
+ set(1, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.table_document_id
.
+ */
+ public Integer getTableDocumentId() {
+ return (Integer) get(1);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.database_document_id
.
+ */
+ public void setDatabaseDocumentId(Integer value) {
+ set(2, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.database_document_id
.
+ */
+ public Integer getDatabaseDocumentId() {
+ return (Integer) get(2);
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.fk_name
.
+ */
+ public void setFkName(String value) {
+ set(3, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.fk_name
.
+ */
+ public String getFkName() {
+ return (String) get(3);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.fk_table_name
.
+ */
+ public void setFkTableName(String value) {
+ set(4, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.fk_table_name
.
+ */
+ public String getFkTableName() {
+ return (String) get(4);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.fk_column_name
.
+ */
+ public void setFkColumnName(String value) {
+ set(5, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.fk_column_name
.
+ */
+ public String getFkColumnName() {
+ return (String) get(5);
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.pk_name
.
+ */
+ public void setPkName(String value) {
+ set(6, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.pk_name
.
+ */
+ public String getPkName() {
+ return (String) get(6);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.pk_table_name
.
+ */
+ public void setPkTableName(String value) {
+ set(7, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.pk_table_name
.
+ */
+ public String getPkTableName() {
+ return (String) get(7);
+ }
+
+ /**
+ * Setter for
+ * databasir.table_foreign_key_document.pk_column_name
.
+ */
+ public void setPkColumnName(String value) {
+ set(8, value);
+ }
+
+ /**
+ * Getter for
+ * databasir.table_foreign_key_document.pk_column_name
.
+ */
+ public String getPkColumnName() {
+ return (String) get(8);
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.update_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public void setUpdateRule(String value) {
+ set(9, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.update_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public String getUpdateRule() {
+ return (String) get(9);
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.delete_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public void setDeleteRule(String value) {
+ set(10, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.delete_rule
.
+ * NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT
+ */
+ public String getDeleteRule() {
+ return (String) get(10);
+ }
+
+ /**
+ * Setter for databasir.table_foreign_key_document.create_at
.
+ */
+ public void setCreateAt(LocalDateTime value) {
+ set(11, value);
+ }
+
+ /**
+ * Getter for databasir.table_foreign_key_document.create_at
.
+ */
+ public LocalDateTime getCreateAt() {
+ return (LocalDateTime) get(11);
+ }
+
+ // -------------------------------------------------------------------------
+ // Primary key information
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Record1 key() {
+ return (Record1) super.key();
+ }
+
+ // -------------------------------------------------------------------------
+ // Record12 type implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public Row12 fieldsRow() {
+ return (Row12) super.fieldsRow();
+ }
+
+ @Override
+ public Row12 valuesRow() {
+ return (Row12) super.valuesRow();
+ }
+
+ @Override
+ public Field field1() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.ID;
+ }
+
+ @Override
+ public Field field2() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.TABLE_DOCUMENT_ID;
+ }
+
+ @Override
+ public Field field3() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.DATABASE_DOCUMENT_ID;
+ }
+
+ @Override
+ public Field field4() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.FK_NAME;
+ }
+
+ @Override
+ public Field field5() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.FK_TABLE_NAME;
+ }
+
+ @Override
+ public Field field6() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.FK_COLUMN_NAME;
+ }
+
+ @Override
+ public Field field7() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.PK_NAME;
+ }
+
+ @Override
+ public Field field8() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.PK_TABLE_NAME;
+ }
+
+ @Override
+ public Field field9() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.PK_COLUMN_NAME;
+ }
+
+ @Override
+ public Field field10() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.UPDATE_RULE;
+ }
+
+ @Override
+ public Field field11() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.DELETE_RULE;
+ }
+
+ @Override
+ public Field field12() {
+ return TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.CREATE_AT;
+ }
+
+ @Override
+ public Integer component1() {
+ return getId();
+ }
+
+ @Override
+ public Integer component2() {
+ return getTableDocumentId();
+ }
+
+ @Override
+ public Integer component3() {
+ return getDatabaseDocumentId();
+ }
+
+ @Override
+ public String component4() {
+ return getFkName();
+ }
+
+ @Override
+ public String component5() {
+ return getFkTableName();
+ }
+
+ @Override
+ public String component6() {
+ return getFkColumnName();
+ }
+
+ @Override
+ public String component7() {
+ return getPkName();
+ }
+
+ @Override
+ public String component8() {
+ return getPkTableName();
+ }
+
+ @Override
+ public String component9() {
+ return getPkColumnName();
+ }
+
+ @Override
+ public String component10() {
+ return getUpdateRule();
+ }
+
+ @Override
+ public String component11() {
+ return getDeleteRule();
+ }
+
+ @Override
+ public LocalDateTime component12() {
+ return getCreateAt();
+ }
+
+ @Override
+ public Integer value1() {
+ return getId();
+ }
+
+ @Override
+ public Integer value2() {
+ return getTableDocumentId();
+ }
+
+ @Override
+ public Integer value3() {
+ return getDatabaseDocumentId();
+ }
+
+ @Override
+ public String value4() {
+ return getFkName();
+ }
+
+ @Override
+ public String value5() {
+ return getFkTableName();
+ }
+
+ @Override
+ public String value6() {
+ return getFkColumnName();
+ }
+
+ @Override
+ public String value7() {
+ return getPkName();
+ }
+
+ @Override
+ public String value8() {
+ return getPkTableName();
+ }
+
+ @Override
+ public String value9() {
+ return getPkColumnName();
+ }
+
+ @Override
+ public String value10() {
+ return getUpdateRule();
+ }
+
+ @Override
+ public String value11() {
+ return getDeleteRule();
+ }
+
+ @Override
+ public LocalDateTime value12() {
+ return getCreateAt();
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value1(Integer value) {
+ setId(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value2(Integer value) {
+ setTableDocumentId(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value3(Integer value) {
+ setDatabaseDocumentId(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value4(String value) {
+ setFkName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value5(String value) {
+ setFkTableName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value6(String value) {
+ setFkColumnName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value7(String value) {
+ setPkName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value8(String value) {
+ setPkTableName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value9(String value) {
+ setPkColumnName(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value10(String value) {
+ setUpdateRule(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value11(String value) {
+ setDeleteRule(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord value12(LocalDateTime value) {
+ setCreateAt(value);
+ return this;
+ }
+
+ @Override
+ public TableForeignKeyDocumentRecord values(Integer value1, Integer value2, Integer value3, String value4, String value5, String value6, String value7, String value8, String value9, String value10, String value11, LocalDateTime value12) {
+ value1(value1);
+ value2(value2);
+ value3(value3);
+ value4(value4);
+ value5(value5);
+ value6(value6);
+ value7(value7);
+ value8(value8);
+ value9(value9);
+ value10(value10);
+ value11(value11);
+ value12(value12);
+ return this;
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached TableForeignKeyDocumentRecord
+ */
+ public TableForeignKeyDocumentRecord() {
+ super(TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT);
+ }
+
+ /**
+ * Create a detached, initialised TableForeignKeyDocumentRecord
+ */
+ public TableForeignKeyDocumentRecord(Integer id, Integer tableDocumentId, Integer databaseDocumentId, String fkName, String fkTableName, String fkColumnName, String pkName, String pkTableName, String pkColumnName, String updateRule, String deleteRule, LocalDateTime createAt) {
+ super(TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT);
+
+ setId(id);
+ setTableDocumentId(tableDocumentId);
+ setDatabaseDocumentId(databaseDocumentId);
+ setFkName(fkName);
+ setFkTableName(fkTableName);
+ setFkColumnName(fkColumnName);
+ setPkName(pkName);
+ setPkTableName(pkTableName);
+ setPkColumnName(pkColumnName);
+ setUpdateRule(updateRule);
+ setDeleteRule(deleteRule);
+ setCreateAt(createAt);
+ }
+
+ /**
+ * Create a detached, initialised TableForeignKeyDocumentRecord
+ */
+ public TableForeignKeyDocumentRecord(TableForeignKeyDocumentPojo value) {
+ super(TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT);
+
+ if (value != null) {
+ setId(value.getId());
+ setTableDocumentId(value.getTableDocumentId());
+ setDatabaseDocumentId(value.getDatabaseDocumentId());
+ setFkName(value.getFkName());
+ setFkTableName(value.getFkTableName());
+ setFkColumnName(value.getFkColumnName());
+ setPkName(value.getPkName());
+ setPkTableName(value.getPkTableName());
+ setPkColumnName(value.getPkColumnName());
+ setUpdateRule(value.getUpdateRule());
+ setDeleteRule(value.getDeleteRule());
+ setCreateAt(value.getCreateAt());
+ }
+ }
+}
diff --git a/dao/src/main/resources/db/migration/V1.1__database_type.sql b/dao/src/main/resources/db/migration/V1.1__database_type.sql
deleted file mode 100644
index c5a0c41..0000000
--- a/dao/src/main/resources/db/migration/V1.1__database_type.sql
+++ /dev/null
@@ -1,39 +0,0 @@
-CREATE TABLE IF NOT EXISTS database_type
-(
- id INT PRIMARY KEY AUTO_INCREMENT,
- database_type VARCHAR(128) NOT NULL COMMENT 'such as mysql, postgresql, mysql5.5 and so on',
- icon VARCHAR(512) NOT NULL DEFAULT '',
- description VARCHAR(512) NOT NULL,
- jdbc_driver_file_url VARCHAR(1024) NOT NULL,
- jdbc_driver_class_name VARCHAR(255) NOT NULL,
- jdbc_protocol VARCHAR(128) NOT NULL,
- url_pattern VARCHAR(255) NOT NULL,
- deleted BOOLEAN NOT NULL DEFAULT FALSE,
- deleted_token INT NOT NULL DEFAULT 0,
- update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT uk_database_type_deleted_deleted_token UNIQUE (database_type, deleted, deleted_token)
-) CHARSET utf8mb4
- COLLATE utf8mb4_unicode_ci COMMENT 'customer database types';
-
-REPLACE INTO databasir.database_type (id, database_type, icon, DESCRIPTION, jdbc_driver_file_url,
- jdbc_driver_class_name,
- jdbc_protocol, url_pattern)
-VALUES (1, 'mysql', '', 'system default mysql', 'N/A', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql',
- '{{jdbc.protocol}}://{{db.url}}/{{db.name}}'),
- (2, 'postgresql', '', 'system default postgresql', 'N/A', 'org.postgresql.Driver', 'jdbc:postgresql',
- '{{jdbc.protocol}}://{{db.url}}/{{db.name}}');
-
-CREATE TABLE IF NOT EXISTS document_description
-(
- id INT PRIMARY KEY AUTO_INCREMENT,
- content TEXT NOT NULL,
- project_id INT NOT NULL,
- table_name VARCHAR(255) NOT NULL,
- column_name VARCHAR(255) DEFAULT NULL,
- update_by INT NOT NULL,
- update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT UNIQUE uk_project_id_table_name_column_name (project_id, table_name, column_name)
-) CHARSET utf8mb4
- COLLATE utf8mb4_unicode_ci COMMENT 'custom document description';
\ No newline at end of file
diff --git a/dao/src/main/resources/db/migration/V1__init.sql b/dao/src/main/resources/db/migration/V1__init.sql
index 41bbc5b..e50d9da 100644
--- a/dao/src/main/resources/db/migration/V1__init.sql
+++ b/dao/src/main/resources/db/migration/V1__init.sql
@@ -166,6 +166,25 @@ CREATE TABLE IF NOT EXISTS table_column_document
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;
+CREATE TABLE IF NOT EXISTS table_foreign_key_document
+(
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ table_document_id INT NOT NULL,
+ database_document_id INT NOT NULL,
+ fk_name VARCHAR(255) DEFAULT NULL,
+ fk_table_name VARCHAR(512) NOT NULL,
+ fk_column_name VARCHAR(512) NOT NULL,
+ pk_name VARCHAR(255) DEFAULT NULL,
+ pk_table_name VARCHAR(512) NOT NULL,
+ pk_column_name VARCHAR(512) NOT NULL,
+ update_rule VARCHAR(128) NOT NULL COMMENT 'NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT',
+ delete_rule VARCHAR(128) NOT NULL COMMENT 'NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT',
+ create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ INDEX idx_table_document_id (table_document_id),
+ INDEX idx_database_document_id (database_document_id)
+) CHARSET utf8mb4
+ COLLATE utf8mb4_unicode_ci;
+
CREATE TABLE IF NOT EXISTS table_index_document
(
@@ -270,3 +289,43 @@ CREATE TABLE IF NOT EXISTS oauth_app
UNIQUE uk_registration_id (registration_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci COMMENT 'oauth app info';
+
+CREATE TABLE IF NOT EXISTS database_type
+(
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ database_type VARCHAR(128) NOT NULL COMMENT 'such as mysql, postgresql, mysql5.5 and so on',
+ icon VARCHAR(512) NOT NULL DEFAULT '',
+ description VARCHAR(512) NOT NULL,
+ jdbc_driver_file_url VARCHAR(1024) NOT NULL,
+ jdbc_driver_class_name VARCHAR(255) NOT NULL,
+ jdbc_protocol VARCHAR(128) NOT NULL,
+ url_pattern VARCHAR(255) NOT NULL,
+ deleted BOOLEAN NOT NULL DEFAULT FALSE,
+ deleted_token INT NOT NULL DEFAULT 0,
+ update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CONSTRAINT uk_database_type_deleted_deleted_token UNIQUE (database_type, deleted, deleted_token)
+) CHARSET utf8mb4
+ COLLATE utf8mb4_unicode_ci COMMENT 'customer database types';
+
+REPLACE INTO databasir.database_type (id, database_type, icon, DESCRIPTION, jdbc_driver_file_url,
+ jdbc_driver_class_name,
+ jdbc_protocol, url_pattern)
+VALUES (1, 'mysql', '', 'system default mysql', 'N/A', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql',
+ '{{jdbc.protocol}}://{{db.url}}/{{db.name}}'),
+ (2, 'postgresql', '', 'system default postgresql', 'N/A', 'org.postgresql.Driver', 'jdbc:postgresql',
+ '{{jdbc.protocol}}://{{db.url}}/{{db.name}}');
+
+CREATE TABLE IF NOT EXISTS document_description
+(
+ id INT PRIMARY KEY AUTO_INCREMENT,
+ content TEXT NOT NULL,
+ project_id INT NOT NULL,
+ table_name VARCHAR(255) NOT NULL,
+ column_name VARCHAR(255) DEFAULT NULL,
+ update_by INT NOT NULL,
+ update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CONSTRAINT UNIQUE uk_project_id_table_name_column_name (project_id, table_name, column_name)
+) CHARSET utf8mb4
+ COLLATE utf8mb4_unicode_ci COMMENT 'custom document description';
\ No newline at end of file