diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DataSource.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DataSource.java
index 64251b5..8588f17 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DataSource.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DataSource.java
@@ -17,7 +17,7 @@ import org.jooq.ForeignKey;
 import org.jooq.Identity;
 import org.jooq.Name;
 import org.jooq.Record;
-import org.jooq.Row9;
+import org.jooq.Row10;
 import org.jooq.Schema;
 import org.jooq.Table;
 import org.jooq.TableField;
@@ -62,7 +62,12 @@ public class DataSource extends TableImpl<DataSourceRecord> {
     /**
      * The column <code>databasir.data_source.database_name</code>.
      */
-    public final TableField<DataSourceRecord, String> DATABASE_NAME = createField(DSL.name("database_name"), SQLDataType.VARCHAR(512).nullable(false), this, "");
+    public final TableField<DataSourceRecord, String> DATABASE_NAME = createField(DSL.name("database_name"), SQLDataType.VARCHAR(255).nullable(false), this, "");
+
+    /**
+     * The column <code>databasir.data_source.schema_name</code>.
+     */
+    public final TableField<DataSourceRecord, String> SCHEMA_NAME = createField(DSL.name("schema_name"), SQLDataType.VARCHAR(255).nullable(false), this, "");
 
     /**
      * The column <code>databasir.data_source.database_type</code>.
@@ -174,11 +179,11 @@ public class DataSource extends TableImpl<DataSourceRecord> {
     }
 
     // -------------------------------------------------------------------------
-    // Row9 type methods
+    // Row10 type methods
     // -------------------------------------------------------------------------
 
     @Override
-    public Row9<Integer, Integer, String, String, String, String, String, LocalDateTime, LocalDateTime> fieldsRow() {
-        return (Row9) super.fieldsRow();
+    public Row10<Integer, Integer, String, String, String, String, String, String, LocalDateTime, LocalDateTime> fieldsRow() {
+        return (Row10) super.fieldsRow();
     }
 }
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DatabaseDocument.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DatabaseDocument.java
index 96109aa..60aafbf 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DatabaseDocument.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/DatabaseDocument.java
@@ -8,27 +8,15 @@ import com.databasir.dao.Databasir;
 import com.databasir.dao.Indexes;
 import com.databasir.dao.Keys;
 import com.databasir.dao.tables.records.DatabaseDocumentRecord;
+import org.jooq.*;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
 
 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.Row9;
-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.
@@ -64,7 +52,12 @@ public class DatabaseDocument extends TableImpl<DatabaseDocumentRecord> {
     /**
      * The column <code>databasir.database_document.database_name</code>.
      */
-    public final TableField<DatabaseDocumentRecord, String> DATABASE_NAME = createField(DSL.name("database_name"), SQLDataType.CLOB.nullable(false), this, "");
+    public final TableField<DatabaseDocumentRecord, String> DATABASE_NAME = createField(DSL.name("database_name"), SQLDataType.VARCHAR(255).nullable(false), this, "");
+
+    /**
+     * The column <code>databasir.database_document.schema_name</code>.
+     */
+    public final TableField<DatabaseDocumentRecord, String> SCHEMA_NAME = createField(DSL.name("schema_name"), SQLDataType.VARCHAR(255).nullable(false), this, "");
 
     /**
      * The column <code>databasir.database_document.product_name</code>.
@@ -178,11 +171,11 @@ public class DatabaseDocument extends TableImpl<DatabaseDocumentRecord> {
     }
 
     // -------------------------------------------------------------------------
-    // Row9 type methods
+    // Row10 type methods
     // -------------------------------------------------------------------------
 
     @Override
-    public Row9<Integer, Integer, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
-        return (Row9) super.fieldsRow();
+    public Row10<Integer, Integer, String, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
+        return (Row10) super.fieldsRow();
     }
 }
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DataSourcePojo.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DataSourcePojo.java
index 090a83e..cc9f113 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DataSourcePojo.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DataSourcePojo.java
@@ -19,6 +19,7 @@ public class DataSourcePojo implements Serializable {
     private Integer       id;
     private Integer       projectId;
     private String        databaseName;
+    private String        schemaName;
     private String        databaseType;
     private String        url;
     private String        username;
@@ -32,6 +33,7 @@ public class DataSourcePojo implements Serializable {
         this.id = value.id;
         this.projectId = value.projectId;
         this.databaseName = value.databaseName;
+        this.schemaName = value.schemaName;
         this.databaseType = value.databaseType;
         this.url = value.url;
         this.username = value.username;
@@ -44,6 +46,7 @@ public class DataSourcePojo implements Serializable {
         Integer       id,
         Integer       projectId,
         String        databaseName,
+        String        schemaName,
         String        databaseType,
         String        url,
         String        username,
@@ -54,6 +57,7 @@ public class DataSourcePojo implements Serializable {
         this.id = id;
         this.projectId = projectId;
         this.databaseName = databaseName;
+        this.schemaName = schemaName;
         this.databaseType = databaseType;
         this.url = url;
         this.username = username;
@@ -104,6 +108,20 @@ public class DataSourcePojo implements Serializable {
         this.databaseName = databaseName;
     }
 
+    /**
+     * Getter for <code>databasir.data_source.schema_name</code>.
+     */
+    public String getSchemaName() {
+        return this.schemaName;
+    }
+
+    /**
+     * Setter for <code>databasir.data_source.schema_name</code>.
+     */
+    public void setSchemaName(String schemaName) {
+        this.schemaName = schemaName;
+    }
+
     /**
      * Getter for <code>databasir.data_source.database_type</code>.
      */
@@ -195,6 +213,7 @@ public class DataSourcePojo implements Serializable {
         sb.append(id);
         sb.append(", ").append(projectId);
         sb.append(", ").append(databaseName);
+        sb.append(", ").append(schemaName);
         sb.append(", ").append(databaseType);
         sb.append(", ").append(url);
         sb.append(", ").append(username);
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DatabaseDocumentPojo.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DatabaseDocumentPojo.java
index bc3f862..c06767d 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DatabaseDocumentPojo.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/DatabaseDocumentPojo.java
@@ -19,6 +19,7 @@ public class DatabaseDocumentPojo implements Serializable {
     private Integer       id;
     private Integer       projectId;
     private String        databaseName;
+    private String        schemaName;
     private String        productName;
     private String        productVersion;
     private Long          version;
@@ -32,6 +33,7 @@ public class DatabaseDocumentPojo implements Serializable {
         this.id = value.id;
         this.projectId = value.projectId;
         this.databaseName = value.databaseName;
+        this.schemaName = value.schemaName;
         this.productName = value.productName;
         this.productVersion = value.productVersion;
         this.version = value.version;
@@ -44,6 +46,7 @@ public class DatabaseDocumentPojo implements Serializable {
         Integer       id,
         Integer       projectId,
         String        databaseName,
+        String        schemaName,
         String        productName,
         String        productVersion,
         Long          version,
@@ -54,6 +57,7 @@ public class DatabaseDocumentPojo implements Serializable {
         this.id = id;
         this.projectId = projectId;
         this.databaseName = databaseName;
+        this.schemaName = schemaName;
         this.productName = productName;
         this.productVersion = productVersion;
         this.version = version;
@@ -104,6 +108,20 @@ public class DatabaseDocumentPojo implements Serializable {
         this.databaseName = databaseName;
     }
 
+    /**
+     * Getter for <code>databasir.database_document.schema_name</code>.
+     */
+    public String getSchemaName() {
+        return this.schemaName;
+    }
+
+    /**
+     * Setter for <code>databasir.database_document.schema_name</code>.
+     */
+    public void setSchemaName(String schemaName) {
+        this.schemaName = schemaName;
+    }
+
     /**
      * Getter for <code>databasir.database_document.product_name</code>.
      */
@@ -195,6 +213,7 @@ public class DatabaseDocumentPojo implements Serializable {
         sb.append(id);
         sb.append(", ").append(projectId);
         sb.append(", ").append(databaseName);
+        sb.append(", ").append(schemaName);
         sb.append(", ").append(productName);
         sb.append(", ").append(productVersion);
         sb.append(", ").append(version);
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DataSourceRecord.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DataSourceRecord.java
index e151b72..a119cfe 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DataSourceRecord.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DataSourceRecord.java
@@ -11,8 +11,8 @@ import java.time.LocalDateTime;
 
 import org.jooq.Field;
 import org.jooq.Record1;
-import org.jooq.Record9;
-import org.jooq.Row9;
+import org.jooq.Record10;
+import org.jooq.Row10;
 import org.jooq.impl.UpdatableRecordImpl;
 
 
@@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
  * This class is generated by jOOQ.
  */
 @SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> implements Record9<Integer, Integer, String, String, String, String, String, LocalDateTime, LocalDateTime> {
+public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> implements Record10<Integer, Integer, String, String, String, String, String, String, LocalDateTime, LocalDateTime> {
 
     private static final long serialVersionUID = 1L;
 
@@ -66,88 +66,102 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
         return (String) get(2);
     }
 
+    /**
+     * Setter for <code>databasir.data_source.schema_name</code>.
+     */
+    public void setSchemaName(String value) {
+        set(3, value);
+    }
+
+    /**
+     * Getter for <code>databasir.data_source.schema_name</code>.
+     */
+    public String getSchemaName() {
+        return (String) get(3);
+    }
+
     /**
      * Setter for <code>databasir.data_source.database_type</code>.
      */
     public void setDatabaseType(String value) {
-        set(3, value);
+        set(4, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.database_type</code>.
      */
     public String getDatabaseType() {
-        return (String) get(3);
+        return (String) get(4);
     }
 
     /**
      * Setter for <code>databasir.data_source.url</code>.
      */
     public void setUrl(String value) {
-        set(4, value);
+        set(5, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.url</code>.
      */
     public String getUrl() {
-        return (String) get(4);
+        return (String) get(5);
     }
 
     /**
      * Setter for <code>databasir.data_source.username</code>.
      */
     public void setUsername(String value) {
-        set(5, value);
+        set(6, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.username</code>.
      */
     public String getUsername() {
-        return (String) get(5);
+        return (String) get(6);
     }
 
     /**
      * Setter for <code>databasir.data_source.password</code>.
      */
     public void setPassword(String value) {
-        set(6, value);
+        set(7, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.password</code>.
      */
     public String getPassword() {
-        return (String) get(6);
+        return (String) get(7);
     }
 
     /**
      * Setter for <code>databasir.data_source.update_at</code>.
      */
     public void setUpdateAt(LocalDateTime value) {
-        set(7, value);
+        set(8, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.update_at</code>.
      */
     public LocalDateTime getUpdateAt() {
-        return (LocalDateTime) get(7);
+        return (LocalDateTime) get(8);
     }
 
     /**
      * Setter for <code>databasir.data_source.create_at</code>.
      */
     public void setCreateAt(LocalDateTime value) {
-        set(8, value);
+        set(9, value);
     }
 
     /**
      * Getter for <code>databasir.data_source.create_at</code>.
      */
     public LocalDateTime getCreateAt() {
-        return (LocalDateTime) get(8);
+        return (LocalDateTime) get(9);
     }
 
     // -------------------------------------------------------------------------
@@ -160,17 +174,17 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
     }
 
     // -------------------------------------------------------------------------
-    // Record9 type implementation
+    // Record10 type implementation
     // -------------------------------------------------------------------------
 
     @Override
-    public Row9<Integer, Integer, String, String, String, String, String, LocalDateTime, LocalDateTime> fieldsRow() {
-        return (Row9) super.fieldsRow();
+    public Row10<Integer, Integer, String, String, String, String, String, String, LocalDateTime, LocalDateTime> fieldsRow() {
+        return (Row10) super.fieldsRow();
     }
 
     @Override
-    public Row9<Integer, Integer, String, String, String, String, String, LocalDateTime, LocalDateTime> valuesRow() {
-        return (Row9) super.valuesRow();
+    public Row10<Integer, Integer, String, String, String, String, String, String, LocalDateTime, LocalDateTime> valuesRow() {
+        return (Row10) super.valuesRow();
     }
 
     @Override
@@ -190,31 +204,36 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
 
     @Override
     public Field<String> field4() {
-        return DataSource.DATA_SOURCE.DATABASE_TYPE;
+        return DataSource.DATA_SOURCE.SCHEMA_NAME;
     }
 
     @Override
     public Field<String> field5() {
-        return DataSource.DATA_SOURCE.URL;
+        return DataSource.DATA_SOURCE.DATABASE_TYPE;
     }
 
     @Override
     public Field<String> field6() {
-        return DataSource.DATA_SOURCE.USERNAME;
+        return DataSource.DATA_SOURCE.URL;
     }
 
     @Override
     public Field<String> field7() {
+        return DataSource.DATA_SOURCE.USERNAME;
+    }
+
+    @Override
+    public Field<String> field8() {
         return DataSource.DATA_SOURCE.PASSWORD;
     }
 
     @Override
-    public Field<LocalDateTime> field8() {
+    public Field<LocalDateTime> field9() {
         return DataSource.DATA_SOURCE.UPDATE_AT;
     }
 
     @Override
-    public Field<LocalDateTime> field9() {
+    public Field<LocalDateTime> field10() {
         return DataSource.DATA_SOURCE.CREATE_AT;
     }
 
@@ -235,31 +254,36 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
 
     @Override
     public String component4() {
-        return getDatabaseType();
+        return getSchemaName();
     }
 
     @Override
     public String component5() {
-        return getUrl();
+        return getDatabaseType();
     }
 
     @Override
     public String component6() {
-        return getUsername();
+        return getUrl();
     }
 
     @Override
     public String component7() {
+        return getUsername();
+    }
+
+    @Override
+    public String component8() {
         return getPassword();
     }
 
     @Override
-    public LocalDateTime component8() {
+    public LocalDateTime component9() {
         return getUpdateAt();
     }
 
     @Override
-    public LocalDateTime component9() {
+    public LocalDateTime component10() {
         return getCreateAt();
     }
 
@@ -280,31 +304,36 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
 
     @Override
     public String value4() {
-        return getDatabaseType();
+        return getSchemaName();
     }
 
     @Override
     public String value5() {
-        return getUrl();
+        return getDatabaseType();
     }
 
     @Override
     public String value6() {
-        return getUsername();
+        return getUrl();
     }
 
     @Override
     public String value7() {
+        return getUsername();
+    }
+
+    @Override
+    public String value8() {
         return getPassword();
     }
 
     @Override
-    public LocalDateTime value8() {
+    public LocalDateTime value9() {
         return getUpdateAt();
     }
 
     @Override
-    public LocalDateTime value9() {
+    public LocalDateTime value10() {
         return getCreateAt();
     }
 
@@ -328,42 +357,48 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
 
     @Override
     public DataSourceRecord value4(String value) {
-        setDatabaseType(value);
+        setSchemaName(value);
         return this;
     }
 
     @Override
     public DataSourceRecord value5(String value) {
-        setUrl(value);
+        setDatabaseType(value);
         return this;
     }
 
     @Override
     public DataSourceRecord value6(String value) {
-        setUsername(value);
+        setUrl(value);
         return this;
     }
 
     @Override
     public DataSourceRecord value7(String value) {
+        setUsername(value);
+        return this;
+    }
+
+    @Override
+    public DataSourceRecord value8(String value) {
         setPassword(value);
         return this;
     }
 
     @Override
-    public DataSourceRecord value8(LocalDateTime value) {
+    public DataSourceRecord value9(LocalDateTime value) {
         setUpdateAt(value);
         return this;
     }
 
     @Override
-    public DataSourceRecord value9(LocalDateTime value) {
+    public DataSourceRecord value10(LocalDateTime value) {
         setCreateAt(value);
         return this;
     }
 
     @Override
-    public DataSourceRecord values(Integer value1, Integer value2, String value3, String value4, String value5, String value6, String value7, LocalDateTime value8, LocalDateTime value9) {
+    public DataSourceRecord values(Integer value1, Integer value2, String value3, String value4, String value5, String value6, String value7, String value8, LocalDateTime value9, LocalDateTime value10) {
         value1(value1);
         value2(value2);
         value3(value3);
@@ -373,6 +408,7 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
         value7(value7);
         value8(value8);
         value9(value9);
+        value10(value10);
         return this;
     }
 
@@ -390,12 +426,13 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
     /**
      * Create a detached, initialised DataSourceRecord
      */
-    public DataSourceRecord(Integer id, Integer projectId, String databaseName, String databaseType, String url, String username, String password, LocalDateTime updateAt, LocalDateTime createAt) {
+    public DataSourceRecord(Integer id, Integer projectId, String databaseName, String schemaName, String databaseType, String url, String username, String password, LocalDateTime updateAt, LocalDateTime createAt) {
         super(DataSource.DATA_SOURCE);
 
         setId(id);
         setProjectId(projectId);
         setDatabaseName(databaseName);
+        setSchemaName(schemaName);
         setDatabaseType(databaseType);
         setUrl(url);
         setUsername(username);
@@ -414,6 +451,7 @@ public class DataSourceRecord extends UpdatableRecordImpl<DataSourceRecord> impl
             setId(value.getId());
             setProjectId(value.getProjectId());
             setDatabaseName(value.getDatabaseName());
+            setSchemaName(value.getSchemaName());
             setDatabaseType(value.getDatabaseType());
             setUrl(value.getUrl());
             setUsername(value.getUsername());
diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DatabaseDocumentRecord.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DatabaseDocumentRecord.java
index 63271c5..6ee9784 100644
--- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DatabaseDocumentRecord.java
+++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/DatabaseDocumentRecord.java
@@ -11,8 +11,8 @@ import java.time.LocalDateTime;
 
 import org.jooq.Field;
 import org.jooq.Record1;
-import org.jooq.Record9;
-import org.jooq.Row9;
+import org.jooq.Record10;
+import org.jooq.Row10;
 import org.jooq.impl.UpdatableRecordImpl;
 
 
@@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
  * This class is generated by jOOQ.
  */
 @SuppressWarnings({ "all", "unchecked", "rawtypes" })
-public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocumentRecord> implements Record9<Integer, Integer, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> {
+public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocumentRecord> implements Record10<Integer, Integer, String, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> {
 
     private static final long serialVersionUID = 1L;
 
@@ -66,88 +66,102 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
         return (String) get(2);
     }
 
+    /**
+     * Setter for <code>databasir.database_document.schema_name</code>.
+     */
+    public void setSchemaName(String value) {
+        set(3, value);
+    }
+
+    /**
+     * Getter for <code>databasir.database_document.schema_name</code>.
+     */
+    public String getSchemaName() {
+        return (String) get(3);
+    }
+
     /**
      * Setter for <code>databasir.database_document.product_name</code>.
      */
     public void setProductName(String value) {
-        set(3, value);
+        set(4, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.product_name</code>.
      */
     public String getProductName() {
-        return (String) get(3);
+        return (String) get(4);
     }
 
     /**
      * Setter for <code>databasir.database_document.product_version</code>.
      */
     public void setProductVersion(String value) {
-        set(4, value);
+        set(5, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.product_version</code>.
      */
     public String getProductVersion() {
-        return (String) get(4);
+        return (String) get(5);
     }
 
     /**
      * Setter for <code>databasir.database_document.version</code>.
      */
     public void setVersion(Long value) {
-        set(5, value);
+        set(6, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.version</code>.
      */
     public Long getVersion() {
-        return (Long) get(5);
+        return (Long) get(6);
     }
 
     /**
      * Setter for <code>databasir.database_document.is_archive</code>.
      */
     public void setIsArchive(Boolean value) {
-        set(6, value);
+        set(7, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.is_archive</code>.
      */
     public Boolean getIsArchive() {
-        return (Boolean) get(6);
+        return (Boolean) get(7);
     }
 
     /**
      * Setter for <code>databasir.database_document.update_at</code>.
      */
     public void setUpdateAt(LocalDateTime value) {
-        set(7, value);
+        set(8, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.update_at</code>.
      */
     public LocalDateTime getUpdateAt() {
-        return (LocalDateTime) get(7);
+        return (LocalDateTime) get(8);
     }
 
     /**
      * Setter for <code>databasir.database_document.create_at</code>.
      */
     public void setCreateAt(LocalDateTime value) {
-        set(8, value);
+        set(9, value);
     }
 
     /**
      * Getter for <code>databasir.database_document.create_at</code>.
      */
     public LocalDateTime getCreateAt() {
-        return (LocalDateTime) get(8);
+        return (LocalDateTime) get(9);
     }
 
     // -------------------------------------------------------------------------
@@ -160,17 +174,17 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
     }
 
     // -------------------------------------------------------------------------
-    // Record9 type implementation
+    // Record10 type implementation
     // -------------------------------------------------------------------------
 
     @Override
-    public Row9<Integer, Integer, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
-        return (Row9) super.fieldsRow();
+    public Row10<Integer, Integer, String, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
+        return (Row10) super.fieldsRow();
     }
 
     @Override
-    public Row9<Integer, Integer, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> valuesRow() {
-        return (Row9) super.valuesRow();
+    public Row10<Integer, Integer, String, String, String, String, Long, Boolean, LocalDateTime, LocalDateTime> valuesRow() {
+        return (Row10) super.valuesRow();
     }
 
     @Override
@@ -190,31 +204,36 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
 
     @Override
     public Field<String> field4() {
-        return DatabaseDocument.DATABASE_DOCUMENT.PRODUCT_NAME;
+        return DatabaseDocument.DATABASE_DOCUMENT.SCHEMA_NAME;
     }
 
     @Override
     public Field<String> field5() {
+        return DatabaseDocument.DATABASE_DOCUMENT.PRODUCT_NAME;
+    }
+
+    @Override
+    public Field<String> field6() {
         return DatabaseDocument.DATABASE_DOCUMENT.PRODUCT_VERSION;
     }
 
     @Override
-    public Field<Long> field6() {
+    public Field<Long> field7() {
         return DatabaseDocument.DATABASE_DOCUMENT.VERSION;
     }
 
     @Override
-    public Field<Boolean> field7() {
+    public Field<Boolean> field8() {
         return DatabaseDocument.DATABASE_DOCUMENT.IS_ARCHIVE;
     }
 
     @Override
-    public Field<LocalDateTime> field8() {
+    public Field<LocalDateTime> field9() {
         return DatabaseDocument.DATABASE_DOCUMENT.UPDATE_AT;
     }
 
     @Override
-    public Field<LocalDateTime> field9() {
+    public Field<LocalDateTime> field10() {
         return DatabaseDocument.DATABASE_DOCUMENT.CREATE_AT;
     }
 
@@ -235,31 +254,36 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
 
     @Override
     public String component4() {
-        return getProductName();
+        return getSchemaName();
     }
 
     @Override
     public String component5() {
+        return getProductName();
+    }
+
+    @Override
+    public String component6() {
         return getProductVersion();
     }
 
     @Override
-    public Long component6() {
+    public Long component7() {
         return getVersion();
     }
 
     @Override
-    public Boolean component7() {
+    public Boolean component8() {
         return getIsArchive();
     }
 
     @Override
-    public LocalDateTime component8() {
+    public LocalDateTime component9() {
         return getUpdateAt();
     }
 
     @Override
-    public LocalDateTime component9() {
+    public LocalDateTime component10() {
         return getCreateAt();
     }
 
@@ -280,31 +304,36 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
 
     @Override
     public String value4() {
-        return getProductName();
+        return getSchemaName();
     }
 
     @Override
     public String value5() {
+        return getProductName();
+    }
+
+    @Override
+    public String value6() {
         return getProductVersion();
     }
 
     @Override
-    public Long value6() {
+    public Long value7() {
         return getVersion();
     }
 
     @Override
-    public Boolean value7() {
+    public Boolean value8() {
         return getIsArchive();
     }
 
     @Override
-    public LocalDateTime value8() {
+    public LocalDateTime value9() {
         return getUpdateAt();
     }
 
     @Override
-    public LocalDateTime value9() {
+    public LocalDateTime value10() {
         return getCreateAt();
     }
 
@@ -328,42 +357,48 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
 
     @Override
     public DatabaseDocumentRecord value4(String value) {
-        setProductName(value);
+        setSchemaName(value);
         return this;
     }
 
     @Override
     public DatabaseDocumentRecord value5(String value) {
+        setProductName(value);
+        return this;
+    }
+
+    @Override
+    public DatabaseDocumentRecord value6(String value) {
         setProductVersion(value);
         return this;
     }
 
     @Override
-    public DatabaseDocumentRecord value6(Long value) {
+    public DatabaseDocumentRecord value7(Long value) {
         setVersion(value);
         return this;
     }
 
     @Override
-    public DatabaseDocumentRecord value7(Boolean value) {
+    public DatabaseDocumentRecord value8(Boolean value) {
         setIsArchive(value);
         return this;
     }
 
     @Override
-    public DatabaseDocumentRecord value8(LocalDateTime value) {
+    public DatabaseDocumentRecord value9(LocalDateTime value) {
         setUpdateAt(value);
         return this;
     }
 
     @Override
-    public DatabaseDocumentRecord value9(LocalDateTime value) {
+    public DatabaseDocumentRecord value10(LocalDateTime value) {
         setCreateAt(value);
         return this;
     }
 
     @Override
-    public DatabaseDocumentRecord values(Integer value1, Integer value2, String value3, String value4, String value5, Long value6, Boolean value7, LocalDateTime value8, LocalDateTime value9) {
+    public DatabaseDocumentRecord values(Integer value1, Integer value2, String value3, String value4, String value5, String value6, Long value7, Boolean value8, LocalDateTime value9, LocalDateTime value10) {
         value1(value1);
         value2(value2);
         value3(value3);
@@ -373,6 +408,7 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
         value7(value7);
         value8(value8);
         value9(value9);
+        value10(value10);
         return this;
     }
 
@@ -390,12 +426,13 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
     /**
      * Create a detached, initialised DatabaseDocumentRecord
      */
-    public DatabaseDocumentRecord(Integer id, Integer projectId, String databaseName, String productName, String productVersion, Long version, Boolean isArchive, LocalDateTime updateAt, LocalDateTime createAt) {
+    public DatabaseDocumentRecord(Integer id, Integer projectId, String databaseName, String schemaName, String productName, String productVersion, Long version, Boolean isArchive, LocalDateTime updateAt, LocalDateTime createAt) {
         super(DatabaseDocument.DATABASE_DOCUMENT);
 
         setId(id);
         setProjectId(projectId);
         setDatabaseName(databaseName);
+        setSchemaName(schemaName);
         setProductName(productName);
         setProductVersion(productVersion);
         setVersion(version);
@@ -414,6 +451,7 @@ public class DatabaseDocumentRecord extends UpdatableRecordImpl<DatabaseDocument
             setId(value.getId());
             setProjectId(value.getProjectId());
             setDatabaseName(value.getDatabaseName());
+            setSchemaName(value.getSchemaName());
             setProductName(value.getProductName());
             setProductVersion(value.getProductVersion());
             setVersion(value.getVersion());
diff --git a/dao/src/main/resources/db/migration/V1__init.sql b/dao/src/main/resources/db/migration/V1__init.sql
index d9021c3..d1ee209 100644
--- a/dao/src/main/resources/db/migration/V1__init.sql
+++ b/dao/src/main/resources/db/migration/V1__init.sql
@@ -93,7 +93,8 @@ CREATE TABLE IF NOT EXISTS `data_source`
 (
     id            INT PRIMARY KEY AUTO_INCREMENT,
     project_id    INT          NOT NULL,
-    database_name VARCHAR(512) NOT NULL,
+    database_name VARCHAR(255) NOT NULL,
+    schema_name   VARCHAR(255) NOT NULL,
     database_type VARCHAR(255) NOT NULL,
     url           TEXT         NOT NULL,
     username      TEXT         NOT NULL,
@@ -118,14 +119,15 @@ CREATE TABLE IF NOT EXISTS `data_source_property`
 CREATE TABLE IF NOT EXISTS database_document
 (
     id              INT PRIMARY KEY AUTO_INCREMENT,
-    project_id      INT       NOT NULL,
-    database_name   TEXT      NOT NULL,
-    product_name    TEXT      NOT NULL,
-    product_version TEXT      NOT NULL,
-    version         BIGINT    NOT NULL DEFAULT 1,
-    is_archive      BOOLEAN   NOT NULL DEFAULT FALSE,
-    update_at       TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-    create_at       TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    project_id      INT          NOT NULL,
+    database_name   VARCHAR(255) NOT NULL,
+    schema_name     VARCHAR(255) NOT NULL,
+    product_name    TEXT         NOT NULL,
+    product_version TEXT         NOT NULL,
+    version         BIGINT       NOT NULL DEFAULT 1,
+    is_archive      BOOLEAN      NOT NULL DEFAULT FALSE,
+    update_at       TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    create_at       TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
     INDEX idx_project_id (project_id)
 ) CHARSET utf8mb4
   COLLATE utf8mb4_unicode_ci;