diff --git a/.gitignore b/.gitignore
index 6b5600acbf67fc1c35c6af86c4a84f421a3b11d1..803b0c1601466ef91dc774809a15894faaba6075 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@
 .DS_Store
 target
 first schema.json
-out/
\ No newline at end of file
+out/
+*.iml
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f7a82f827ea6501bc718671383652847ad971c38
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,19 @@
+image: maven:3.6.3-jdk-11
+
+stages:
+  - build
+  - test
+
+maven-build:
+  stage: build
+  script:
+    - mvn package
+    - cat target/site/jacoco/index.html
+  artifacts:
+    expose_as: 'code coverage'
+    paths:
+      - target/surefire-reports/
+      - target/site/jacoco/index.html
+    reports:
+      junit:
+        - target/surefire-reports/TEST-*.xml
diff --git a/pom.xml b/pom.xml
index 7c670cc693e1a265e4f499ef652ba7c814a5cf59..167ef79fb66eb732c7d4bcad8c8986f15ba0ed63 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,37 +4,114 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>ic.er</groupId>
-    <artifactId>AmazingProject</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <name>wendi</name>
-    <description>Database connection</description>
+    <groupId>io.github.MigadaTang</groupId>
+    <artifactId>amazing-er</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>amazing-er</name>
+    <description>this project contains java classes with which users could create their own ER schema and export to JSON
+        format files.
+    </description>
+    <url>https://github.com/MigadaTang/AmazingER</url>
+
+    <distributionManagement>
+        <snapshotRepository>
+            <id>ossrh</id>
+            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
+        </snapshotRepository>
+        <repository>
+            <id>ossrh</id>
+            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+        </repository>
+    </distributionManagement>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>0.8.7</version>
+                <executions>
+                    <execution>
+                        <id>pre-unit-test</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>post-unit-test</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+                <version>1.6.7</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <serverId>ossrh</serverId>
+                    <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
+                    <autoReleaseAfterClose>false</autoReleaseAfterClose>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
                 <configuration>
                     <source>11</source>
                     <target>11</target>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>2.2.1</version>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>jar-no-fork</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-gpg-plugin</artifactId>
+                <version>1.5</version>
+                <executions>
+                    <execution>
+                        <id>sign-artifacts</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>sign</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
     <dependencies>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>2.13.3</version>
-        </dependency>
         <dependency>
             <groupId>com.h2database</groupId>
             <artifactId>h2</artifactId>
             <version>2.1.214</version>
             <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.13.3</version>
+        </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis</artifactId>
@@ -52,23 +129,12 @@
             <artifactId>junit</artifactId>
             <version>4.12</version>
         </dependency>
-        <dependency>
-            <groupId>org.postgresql</groupId>
-            <artifactId>postgresql</artifactId>
-            <version>42.2.10</version>
-        </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <version>1.18.24</version>
             <scope>compile</scope>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.5</version>
-        </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
diff --git a/src/main/java/com/ic/er/Attribute.java b/src/main/java/io/github/MigadaTang/Attribute.java
similarity index 95%
rename from src/main/java/com/ic/er/Attribute.java
rename to src/main/java/io/github/MigadaTang/Attribute.java
index 6c34e83f6aaa5650df2bfe4449dd50fa1970813d..7aa4b5dbb67809e8ac1358b2e73302c9cd16aacd 100644
--- a/src/main/java/com/ic/er/Attribute.java
+++ b/src/main/java/io/github/MigadaTang/Attribute.java
@@ -1,10 +1,10 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.ic.er.common.DataType;
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.entity.AttributeDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.entity.AttributeDO;
+import io.github.MigadaTang.exception.ERException;
 import lombok.Getter;
 import org.apache.ibatis.exceptions.PersistenceException;
 
diff --git a/src/main/java/com/ic/er/ER.java b/src/main/java/io/github/MigadaTang/ER.java
similarity index 96%
rename from src/main/java/com/ic/er/ER.java
rename to src/main/java/io/github/MigadaTang/ER.java
index 692f5fd918ae6d8e981ed91c479dbcbeb8089f74..cc7bb342c3e595da3fd1bbdd04ac9d24a204590b 100644
--- a/src/main/java/com/ic/er/ER.java
+++ b/src/main/java/io/github/MigadaTang/ER.java
@@ -1,9 +1,9 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ic.er.dao.*;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.dao.*;
+import io.github.MigadaTang.exception.ERException;
 import org.apache.ibatis.io.Resources;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
diff --git a/src/main/java/com/ic/er/Entity.java b/src/main/java/io/github/MigadaTang/Entity.java
similarity index 94%
rename from src/main/java/com/ic/er/Entity.java
rename to src/main/java/io/github/MigadaTang/Entity.java
index 0173884e5d3e5c9d9ab6f149d403dc93aacd74a4..29563540d1bf803bfe64fd3d24da661944c79fb5 100644
--- a/src/main/java/com/ic/er/Entity.java
+++ b/src/main/java/io/github/MigadaTang/Entity.java
@@ -1,11 +1,11 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.ic.er.common.DataType;
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.entity.AttributeDO;
-import com.ic.er.entity.EntityDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.entity.AttributeDO;
+import io.github.MigadaTang.entity.EntityDO;
+import io.github.MigadaTang.exception.ERException;
 import lombok.Getter;
 import org.apache.ibatis.exceptions.PersistenceException;
 
diff --git a/src/main/java/com/ic/er/LayoutInfo.java b/src/main/java/io/github/MigadaTang/LayoutInfo.java
similarity index 94%
rename from src/main/java/com/ic/er/LayoutInfo.java
rename to src/main/java/io/github/MigadaTang/LayoutInfo.java
index 2bd74c6dc7719845d25da13c5eefe91054acd268..5c5644faf5a4f28b8ff66faaa10bacbc474f9dc6 100644
--- a/src/main/java/com/ic/er/LayoutInfo.java
+++ b/src/main/java/io/github/MigadaTang/LayoutInfo.java
@@ -1,9 +1,9 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.entity.LayoutInfoDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.entity.LayoutInfoDO;
+import io.github.MigadaTang.exception.ERException;
 import lombok.Getter;
 import org.apache.ibatis.exceptions.PersistenceException;
 
diff --git a/src/main/java/com/ic/er/Relationship.java b/src/main/java/io/github/MigadaTang/Relationship.java
similarity index 94%
rename from src/main/java/com/ic/er/Relationship.java
rename to src/main/java/io/github/MigadaTang/Relationship.java
index 719949ef2d2c870e0f1e72c9cdfcc43cddb606de..acd0269e7f1edfd681eff74812553f8f6c6858a4 100644
--- a/src/main/java/com/ic/er/Relationship.java
+++ b/src/main/java/io/github/MigadaTang/Relationship.java
@@ -1,12 +1,12 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.ic.er.common.Cardinality;
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.common.RelationshipSerializer;
-import com.ic.er.entity.RelationshipDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.common.RelationshipSerializer;
+import io.github.MigadaTang.entity.RelationshipDO;
+import io.github.MigadaTang.exception.ERException;
 import lombok.Getter;
 import org.apache.ibatis.exceptions.PersistenceException;
 
diff --git a/src/main/java/com/ic/er/Schema.java b/src/main/java/io/github/MigadaTang/Schema.java
similarity index 95%
rename from src/main/java/com/ic/er/Schema.java
rename to src/main/java/io/github/MigadaTang/Schema.java
index 45065e3a1b3dac8ced4fa4f2719494c8107b8dfe..91e78bb39a6875f65f7bb7081514098a2cf93df8 100644
--- a/src/main/java/com/ic/er/Schema.java
+++ b/src/main/java/io/github/MigadaTang/Schema.java
@@ -1,16 +1,16 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectWriter;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.ic.er.common.Cardinality;
-import com.ic.er.common.SchemaDeserializer;
-import com.ic.er.entity.EntityDO;
-import com.ic.er.entity.RelationshipDO;
-import com.ic.er.entity.SchemaDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.common.SchemaDeserializer;
+import io.github.MigadaTang.entity.EntityDO;
+import io.github.MigadaTang.entity.RelationshipDO;
+import io.github.MigadaTang.entity.SchemaDO;
+import io.github.MigadaTang.exception.ERException;
 import lombok.Getter;
 import org.apache.ibatis.exceptions.PersistenceException;
 
diff --git a/src/main/java/com/ic/er/Trans.java b/src/main/java/io/github/MigadaTang/Trans.java
similarity index 97%
rename from src/main/java/com/ic/er/Trans.java
rename to src/main/java/io/github/MigadaTang/Trans.java
index fe8ef3f2889f0a30a4df12d6a5cc6a3bffc8d101..37a81599afcb31f30b5115979b20649efbcecc53 100644
--- a/src/main/java/com/ic/er/Trans.java
+++ b/src/main/java/io/github/MigadaTang/Trans.java
@@ -1,7 +1,7 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.entity.*;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.entity.*;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/com/ic/er/common/Cardinality.java b/src/main/java/io/github/MigadaTang/common/Cardinality.java
similarity index 97%
rename from src/main/java/com/ic/er/common/Cardinality.java
rename to src/main/java/io/github/MigadaTang/common/Cardinality.java
index fe1005f8f5c42045a72a59af35e27139a4838946..f9cffce9a6cbebfcfea68f59f0bf2573ca9d5aa0 100644
--- a/src/main/java/com/ic/er/common/Cardinality.java
+++ b/src/main/java/io/github/MigadaTang/common/Cardinality.java
@@ -1,4 +1,4 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
diff --git a/src/main/java/com/ic/er/common/CardinalityEnumTypeHandler.java b/src/main/java/io/github/MigadaTang/common/CardinalityEnumTypeHandler.java
similarity index 96%
rename from src/main/java/com/ic/er/common/CardinalityEnumTypeHandler.java
rename to src/main/java/io/github/MigadaTang/common/CardinalityEnumTypeHandler.java
index af380f0ad80361c2ec4c9968aebc00c64012f681..d181fcbae7c79904b5feb696c6071c3488c7a812 100644
--- a/src/main/java/com/ic/er/common/CardinalityEnumTypeHandler.java
+++ b/src/main/java/io/github/MigadaTang/common/CardinalityEnumTypeHandler.java
@@ -1,13 +1,13 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
+
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
 
 import java.sql.CallableStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
-import org.apache.ibatis.type.BaseTypeHandler;
-import org.apache.ibatis.type.JdbcType;
-
 public class CardinalityEnumTypeHandler extends BaseTypeHandler<Cardinality> {
 
     @Override
diff --git a/src/main/java/com/ic/er/common/DataType.java b/src/main/java/io/github/MigadaTang/common/DataType.java
similarity index 80%
rename from src/main/java/com/ic/er/common/DataType.java
rename to src/main/java/io/github/MigadaTang/common/DataType.java
index 2acfb6e34d74ff1bf65a203b63360e0e7056d2fb..a6c1306d6580a00b2ee06d38973ede5b7c9cca06 100644
--- a/src/main/java/com/ic/er/common/DataType.java
+++ b/src/main/java/io/github/MigadaTang/common/DataType.java
@@ -1,4 +1,4 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 public enum DataType {
     UNKNOWN,
diff --git a/src/main/java/com/ic/er/common/RelatedObjType.java b/src/main/java/io/github/MigadaTang/common/RelatedObjType.java
similarity index 85%
rename from src/main/java/com/ic/er/common/RelatedObjType.java
rename to src/main/java/io/github/MigadaTang/common/RelatedObjType.java
index 22352aa2dbc2bd61a27eca9c0b392ce4417d47b7..c5a1d4691fa90d90427c4eea3e7881a08de345a0 100644
--- a/src/main/java/com/ic/er/common/RelatedObjType.java
+++ b/src/main/java/io/github/MigadaTang/common/RelatedObjType.java
@@ -1,4 +1,4 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
diff --git a/src/main/java/com/ic/er/common/RelationshipSerializer.java b/src/main/java/io/github/MigadaTang/common/RelationshipSerializer.java
similarity index 90%
rename from src/main/java/com/ic/er/common/RelationshipSerializer.java
rename to src/main/java/io/github/MigadaTang/common/RelationshipSerializer.java
index ccce978703b30d98154227ab7cad7064d90243cb..1ca4f6033e407fb70e7b8f24adb6a74dc7978b4b 100644
--- a/src/main/java/com/ic/er/common/RelationshipSerializer.java
+++ b/src/main/java/io/github/MigadaTang/common/RelationshipSerializer.java
@@ -1,10 +1,9 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
-import com.ic.er.Relationship;
+import io.github.MigadaTang.Relationship;
 
 import java.io.IOException;
 
diff --git a/src/main/java/com/ic/er/common/ResultState.java b/src/main/java/io/github/MigadaTang/common/ResultState.java
similarity index 95%
rename from src/main/java/com/ic/er/common/ResultState.java
rename to src/main/java/io/github/MigadaTang/common/ResultState.java
index 3402e4f10d09c5feed4c4f6df42aebdf806b1ecb..22a385c0524be63cae3feb0517d8c4de2630bc18 100644
--- a/src/main/java/com/ic/er/common/ResultState.java
+++ b/src/main/java/io/github/MigadaTang/common/ResultState.java
@@ -1,4 +1,4 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/src/main/java/com/ic/er/common/ResultStateCode.java b/src/main/java/io/github/MigadaTang/common/ResultStateCode.java
similarity index 75%
rename from src/main/java/com/ic/er/common/ResultStateCode.java
rename to src/main/java/io/github/MigadaTang/common/ResultStateCode.java
index 1831484ceaebbdc637a852ff87dc6e441b69d282..ad3b92b528aa7684f2acc895578f524977bac0fc 100644
--- a/src/main/java/com/ic/er/common/ResultStateCode.java
+++ b/src/main/java/io/github/MigadaTang/common/ResultStateCode.java
@@ -1,4 +1,4 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 public class ResultStateCode {
     public static Integer Success = 0;
diff --git a/src/main/java/com/ic/er/common/SchemaDeserializer.java b/src/main/java/io/github/MigadaTang/common/SchemaDeserializer.java
similarity index 94%
rename from src/main/java/com/ic/er/common/SchemaDeserializer.java
rename to src/main/java/io/github/MigadaTang/common/SchemaDeserializer.java
index e14b4f22171c61861be75756695d5a5e87fde082..fa2380d56eea362b59d55eebb063a22e617fa435 100644
--- a/src/main/java/com/ic/er/common/SchemaDeserializer.java
+++ b/src/main/java/io/github/MigadaTang/common/SchemaDeserializer.java
@@ -1,14 +1,14 @@
-package com.ic.er.common;
+package io.github.MigadaTang.common;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
-import com.ic.er.ER;
-import com.ic.er.Entity;
-import com.ic.er.Relationship;
-import com.ic.er.Schema;
+import io.github.MigadaTang.ER;
+import io.github.MigadaTang.Entity;
+import io.github.MigadaTang.Relationship;
+import io.github.MigadaTang.Schema;
 
 import java.io.IOException;
 import java.util.HashMap;
diff --git a/src/main/java/com/ic/er/dao/AttributeMapper.java b/src/main/java/io/github/MigadaTang/dao/AttributeMapper.java
similarity index 80%
rename from src/main/java/com/ic/er/dao/AttributeMapper.java
rename to src/main/java/io/github/MigadaTang/dao/AttributeMapper.java
index b62cad15cfe8db4588881caa2ec3cc79029a2b3b..41853291efca6040c60d42add3164401c79ef873 100644
--- a/src/main/java/com/ic/er/dao/AttributeMapper.java
+++ b/src/main/java/io/github/MigadaTang/dao/AttributeMapper.java
@@ -1,6 +1,6 @@
-package com.ic.er.dao;
+package io.github.MigadaTang.dao;
 
-import com.ic.er.entity.AttributeDO;
+import io.github.MigadaTang.entity.AttributeDO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/src/main/java/com/ic/er/dao/EntityMapper.java b/src/main/java/io/github/MigadaTang/dao/EntityMapper.java
similarity index 80%
rename from src/main/java/com/ic/er/dao/EntityMapper.java
rename to src/main/java/io/github/MigadaTang/dao/EntityMapper.java
index 55cd4397008e6c82d358f105373f21dfc7ead7a9..c7dfecc0df8b8e94f59f7f89754a89ec01271bc1 100644
--- a/src/main/java/com/ic/er/dao/EntityMapper.java
+++ b/src/main/java/io/github/MigadaTang/dao/EntityMapper.java
@@ -1,6 +1,6 @@
-package com.ic.er.dao;
+package io.github.MigadaTang.dao;
 
-import com.ic.er.entity.EntityDO;
+import io.github.MigadaTang.entity.EntityDO;
 
 import java.util.List;
 
diff --git a/src/main/java/com/ic/er/dao/LayoutInfoMapper.java b/src/main/java/io/github/MigadaTang/dao/LayoutInfoMapper.java
similarity index 75%
rename from src/main/java/com/ic/er/dao/LayoutInfoMapper.java
rename to src/main/java/io/github/MigadaTang/dao/LayoutInfoMapper.java
index 2f28cad3edc6565a5e306a51fc8db799b916ba18..8013a065c54e4cedecd7861a3f9c272ef69b62c7 100644
--- a/src/main/java/com/ic/er/dao/LayoutInfoMapper.java
+++ b/src/main/java/io/github/MigadaTang/dao/LayoutInfoMapper.java
@@ -1,7 +1,7 @@
-package com.ic.er.dao;
+package io.github.MigadaTang.dao;
 
-import com.ic.er.common.RelatedObjType;
-import com.ic.er.entity.LayoutInfoDO;
+import io.github.MigadaTang.common.RelatedObjType;
+import io.github.MigadaTang.entity.LayoutInfoDO;
 
 import java.util.List;
 
diff --git a/src/main/java/com/ic/er/dao/RelationshipMapper.java b/src/main/java/io/github/MigadaTang/dao/RelationshipMapper.java
similarity index 81%
rename from src/main/java/com/ic/er/dao/RelationshipMapper.java
rename to src/main/java/io/github/MigadaTang/dao/RelationshipMapper.java
index 643fbae6834f0d33998657c8eb5d987723cf8226..ee44c6a62847c355156eba6f64a8d4fd9022bcc5 100644
--- a/src/main/java/com/ic/er/dao/RelationshipMapper.java
+++ b/src/main/java/io/github/MigadaTang/dao/RelationshipMapper.java
@@ -1,6 +1,6 @@
-package com.ic.er.dao;
+package io.github.MigadaTang.dao;
 
-import com.ic.er.entity.RelationshipDO;
+import io.github.MigadaTang.entity.RelationshipDO;
 
 import java.util.List;
 
diff --git a/src/main/java/com/ic/er/dao/SchemaMapper.java b/src/main/java/io/github/MigadaTang/dao/SchemaMapper.java
similarity index 81%
rename from src/main/java/com/ic/er/dao/SchemaMapper.java
rename to src/main/java/io/github/MigadaTang/dao/SchemaMapper.java
index 601202ff73496f2bbc7295ae50c21f9c4380be6f..39a9021bd72823ce9f241cedd441e51127f21730 100644
--- a/src/main/java/com/ic/er/dao/SchemaMapper.java
+++ b/src/main/java/io/github/MigadaTang/dao/SchemaMapper.java
@@ -1,6 +1,6 @@
-package com.ic.er.dao;
+package io.github.MigadaTang.dao;
 
-import com.ic.er.entity.SchemaDO;
+import io.github.MigadaTang.entity.SchemaDO;
 
 import java.util.List;
 
diff --git a/src/main/java/com/ic/er/entity/AttributeDO.java b/src/main/java/io/github/MigadaTang/entity/AttributeDO.java
similarity index 88%
rename from src/main/java/com/ic/er/entity/AttributeDO.java
rename to src/main/java/io/github/MigadaTang/entity/AttributeDO.java
index 89b457785320d232fc950716b06613b52f8e09a8..74a752ec0a9b83141f524859dba038b9c6a83dcd 100644
--- a/src/main/java/com/ic/er/entity/AttributeDO.java
+++ b/src/main/java/io/github/MigadaTang/entity/AttributeDO.java
@@ -1,6 +1,6 @@
-package com.ic.er.entity;
+package io.github.MigadaTang.entity;
 
-import com.ic.er.common.DataType;
+import io.github.MigadaTang.common.DataType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/com/ic/er/entity/EntityDO.java b/src/main/java/io/github/MigadaTang/entity/EntityDO.java
similarity index 91%
rename from src/main/java/com/ic/er/entity/EntityDO.java
rename to src/main/java/io/github/MigadaTang/entity/EntityDO.java
index fb6f125871324b65bcb9937569bead87d1c673a6..db5527172c9f7684b5441a049ebf66d39cb44738 100644
--- a/src/main/java/com/ic/er/entity/EntityDO.java
+++ b/src/main/java/io/github/MigadaTang/entity/EntityDO.java
@@ -1,4 +1,4 @@
-package com.ic.er.entity;
+package io.github.MigadaTang.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/src/main/java/com/ic/er/entity/LayoutInfoDO.java b/src/main/java/io/github/MigadaTang/entity/LayoutInfoDO.java
similarity index 87%
rename from src/main/java/com/ic/er/entity/LayoutInfoDO.java
rename to src/main/java/io/github/MigadaTang/entity/LayoutInfoDO.java
index 939d25d44fec84fb68a8c06f398634ad6a8eea5b..8341c20d5fd86dcd4f339f7e45f8849b3069fd53 100644
--- a/src/main/java/com/ic/er/entity/LayoutInfoDO.java
+++ b/src/main/java/io/github/MigadaTang/entity/LayoutInfoDO.java
@@ -1,7 +1,7 @@
-package com.ic.er.entity;
+package io.github.MigadaTang.entity;
 
 
-import com.ic.er.common.RelatedObjType;
+import io.github.MigadaTang.common.RelatedObjType;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/com/ic/er/entity/RelationshipDO.java b/src/main/java/io/github/MigadaTang/entity/RelationshipDO.java
similarity index 89%
rename from src/main/java/com/ic/er/entity/RelationshipDO.java
rename to src/main/java/io/github/MigadaTang/entity/RelationshipDO.java
index 3edb3abddd4216c0029b8c13435eb0701f778d13..b6c4b4f82b8b8f22f179a473906fafbe97e91619 100644
--- a/src/main/java/com/ic/er/entity/RelationshipDO.java
+++ b/src/main/java/io/github/MigadaTang/entity/RelationshipDO.java
@@ -1,6 +1,6 @@
-package com.ic.er.entity;
+package io.github.MigadaTang.entity;
 
-import com.ic.er.common.Cardinality;
+import io.github.MigadaTang.common.Cardinality;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/com/ic/er/entity/SchemaDO.java b/src/main/java/io/github/MigadaTang/entity/SchemaDO.java
similarity index 92%
rename from src/main/java/com/ic/er/entity/SchemaDO.java
rename to src/main/java/io/github/MigadaTang/entity/SchemaDO.java
index 39ebea9feb31cdd9265802e2b617b689341673a6..bb418a4d67fb92f8808ac10055029226513f7128 100644
--- a/src/main/java/com/ic/er/entity/SchemaDO.java
+++ b/src/main/java/io/github/MigadaTang/entity/SchemaDO.java
@@ -1,4 +1,4 @@
-package com.ic.er.entity;
+package io.github.MigadaTang.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
diff --git a/src/main/java/com/ic/er/exception/ERException.java b/src/main/java/io/github/MigadaTang/exception/ERException.java
similarity index 89%
rename from src/main/java/com/ic/er/exception/ERException.java
rename to src/main/java/io/github/MigadaTang/exception/ERException.java
index d376387cdba027c8bdcf1a782cea351a1d34714b..30fe77e0ad0d320e9b24dc551b2f9bf6f8b87db5 100644
--- a/src/main/java/com/ic/er/exception/ERException.java
+++ b/src/main/java/io/github/MigadaTang/exception/ERException.java
@@ -1,4 +1,4 @@
-package com.ic.er.exception;
+package io.github.MigadaTang.exception;
 
 public class ERException extends RuntimeException {
     public ERException() {
diff --git a/src/main/resources/mapper/AttributeMapper.xml b/src/main/resources/mapper/AttributeMapper.xml
index e0e6f31620246f55aa50101e6c26837995cf85ec..b6f82f943cb47eab7e9794063efcbc71aee9bd73 100644
--- a/src/main/resources/mapper/AttributeMapper.xml
+++ b/src/main/resources/mapper/AttributeMapper.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ic.er.dao.AttributeMapper">
+<mapper namespace="io.github.MigadaTang.dao.AttributeMapper">
 
-    <resultMap id="BaseResultMap" type="com.ic.er.entity.AttributeDO">
+    <resultMap id="BaseResultMap" type="io.github.MigadaTang.entity.AttributeDO">
         <id column="id" property="ID"/>
         <result column="entity_id" property="entityID"/>
         <result column="schema_id" property="schemaID"/>
@@ -28,7 +28,7 @@
         where id = #{id,jdbcType=BIGINT} and is_delete = 0
     </select>
 
-    <select id="selectByAttribute" parameterType="com.ic.er.entity.AttributeDO" resultMap="BaseResultMap">
+    <select id="selectByAttribute" parameterType="io.github.MigadaTang.entity.AttributeDO" resultMap="BaseResultMap">
         select
         id,entity_id,schema_id,name,data_type,is_primary,nullable,is_delete,gmt_create,gmt_modified
         from attribute
@@ -64,7 +64,8 @@
         </where>
     </select>
 
-    <insert id="insert" parameterType="com.ic.er.entity.AttributeDO" useGeneratedKeys="true" keyProperty="ID">
+    <insert id="insert" parameterType="io.github.MigadaTang.entity.AttributeDO" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into attribute
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="entityID != null">
@@ -114,7 +115,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </update>
 
-    <update id="updateByID" parameterType="com.ic.er.entity.AttributeDO">
+    <update id="updateByID" parameterType="io.github.MigadaTang.entity.AttributeDO">
         update attribute
         <set>
             <if test="entityID != null">
diff --git a/src/main/resources/mapper/EntityMapper.xml b/src/main/resources/mapper/EntityMapper.xml
index b9223e7738b38a1ecbb277b04e087f003d65be0a..e614f6350b7fcf514ce07dc6362b104a9bc6e3cc 100644
--- a/src/main/resources/mapper/EntityMapper.xml
+++ b/src/main/resources/mapper/EntityMapper.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ic.er.dao.EntityMapper">
+<mapper namespace="io.github.MigadaTang.dao.EntityMapper">
 
-    <resultMap id="BaseResultMap" type="com.ic.er.entity.EntityDO">
+    <resultMap id="BaseResultMap" type="io.github.MigadaTang.entity.EntityDO">
         <id column="id" property="ID"/>
         <result column="name" property="name"/>
         <result column="schema_id" property="schemaID"/>
@@ -24,7 +24,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </select>
 
-    <select id="selectByEntity" parameterType="com.ic.er.entity.EntityDO" resultMap="BaseResultMap">
+    <select id="selectByEntity" parameterType="io.github.MigadaTang.entity.EntityDO" resultMap="BaseResultMap">
         select
         id,name,schema_id,is_delete,gmt_create,gmt_modified
         from entity
@@ -48,7 +48,7 @@
         </where>
     </select>
 
-    <insert id="insert" parameterType="com.ic.er.entity.EntityDO" useGeneratedKeys="true" keyProperty="ID">
+    <insert id="insert" parameterType="io.github.MigadaTang.entity.EntityDO" useGeneratedKeys="true" keyProperty="ID">
         insert into entity
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="name != null">
@@ -74,7 +74,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </update>
 
-    <update id="updateByID" parameterType="com.ic.er.entity.EntityDO">
+    <update id="updateByID" parameterType="io.github.MigadaTang.entity.EntityDO">
         update entity
         <set>
             <if test="name != null">
diff --git a/src/main/resources/mapper/LayoutInfoMapper.xml b/src/main/resources/mapper/LayoutInfoMapper.xml
index 421d4b9a2c0107e779ac0eea75dbac7ebc852243..3f95511cda6636f6a27980c039b88bbd387fea50 100644
--- a/src/main/resources/mapper/LayoutInfoMapper.xml
+++ b/src/main/resources/mapper/LayoutInfoMapper.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ic.er.dao.LayoutInfoMapper">
+<mapper namespace="io.github.MigadaTang.dao.LayoutInfoMapper">
 
-    <resultMap id="BaseResultMap" type="com.ic.er.entity.LayoutInfoDO">
+    <resultMap id="BaseResultMap" type="io.github.MigadaTang.entity.LayoutInfoDO">
         <id column="id" property="ID"/>
         <result column="related_obj_id" property="relatedObjID"/>
         <result column="related_obj_type" property="relatedObjType"/>
@@ -33,7 +33,7 @@
         #{relatedObjType.value,jdbcType=SMALLINT}
     </select>
 
-    <select id="selectByLayoutInfo" parameterType="com.ic.er.entity.LayoutInfoDO" resultMap="BaseResultMap">
+    <select id="selectByLayoutInfo" parameterType="io.github.MigadaTang.entity.LayoutInfoDO" resultMap="BaseResultMap">
         select
         id,related_obj_id,related_obj_type,layout_x,layout_y,width,height
         from layout_info
@@ -62,7 +62,8 @@
         </where>
     </select>
 
-    <insert id="insert" parameterType="com.ic.er.entity.LayoutInfoDO" useGeneratedKeys="true" keyProperty="ID">
+    <insert id="insert" parameterType="io.github.MigadaTang.entity.LayoutInfoDO" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into layout_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="relatedObjID != null">
@@ -106,7 +107,7 @@
         </trim>
     </insert>
 
-    <update id="updateByID" parameterType="com.ic.er.entity.LayoutInfoDO">
+    <update id="updateByID" parameterType="io.github.MigadaTang.entity.LayoutInfoDO">
         update layout_info
         <set>
             <if test="layoutX != null">
@@ -125,7 +126,7 @@
         where id = #{ID,jdbcType=BIGINT}
     </update>
 
-    <update id="updateByObjIDAnd" parameterType="com.ic.er.entity.LayoutInfoDO">
+    <update id="updateByObjIDAnd" parameterType="io.github.MigadaTang.entity.LayoutInfoDO">
         update layout_info
         <set>
             <if test="layoutX != null">
diff --git a/src/main/resources/mapper/RelationshipMapper.xml b/src/main/resources/mapper/RelationshipMapper.xml
index 45c905ca2a85a20d41a4c0c00b0f02f58dc5262c..cd844b049c032a5c85e7372e2653a464319e9bfb 100644
--- a/src/main/resources/mapper/RelationshipMapper.xml
+++ b/src/main/resources/mapper/RelationshipMapper.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ic.er.dao.RelationshipMapper">
+<mapper namespace="io.github.MigadaTang.dao.RelationshipMapper">
 
-    <resultMap id="BaseResultMap" type="com.ic.er.entity.RelationshipDO">
+    <resultMap id="BaseResultMap" type="io.github.MigadaTang.entity.RelationshipDO">
         <id column="id" property="ID"/>
         <result column="name" property="name"/>
         <result column="schema_id" property="schemaID"/>
@@ -28,7 +28,8 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </select>
 
-    <select id="selectByRelationship" parameterType="com.ic.er.entity.RelationshipDO" resultMap="BaseResultMap">
+    <select id="selectByRelationship" parameterType="io.github.MigadaTang.entity.RelationshipDO"
+            resultMap="BaseResultMap">
         select
         id,name,schema_id,first_entity_id,second_entity_id,first_cardinality,second_cardinality,is_delete,gmt_create,gmt_modified
         from relationship
@@ -64,7 +65,8 @@
         </where>
     </select>
 
-    <insert id="insert" parameterType="com.ic.er.entity.RelationshipDO" useGeneratedKeys="true" keyProperty="ID">
+    <insert id="insert" parameterType="io.github.MigadaTang.entity.RelationshipDO" useGeneratedKeys="true"
+            keyProperty="ID">
         insert into relationship
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="name != null">
@@ -114,7 +116,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </update>
 
-    <update id="updateByID" parameterType="com.ic.er.entity.RelationshipDO">
+    <update id="updateByID" parameterType="io.github.MigadaTang.entity.RelationshipDO">
         update relationship
         <set>
             <if test="name != null">
diff --git a/src/main/resources/mapper/SchemaMapper.xml b/src/main/resources/mapper/SchemaMapper.xml
index 190925dcf812763048a5c2c408ef0b0d9bbae327..4570daf1abba4499a4820746111e17826ff9907f 100644
--- a/src/main/resources/mapper/SchemaMapper.xml
+++ b/src/main/resources/mapper/SchemaMapper.xml
@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ic.er.dao.SchemaMapper">
+<mapper namespace="io.github.MigadaTang.dao.SchemaMapper">
 
-    <resultMap id="BaseResultMap" type="com.ic.er.entity.SchemaDO">
+    <resultMap id="BaseResultMap" type="io.github.MigadaTang.entity.SchemaDO">
         <id column="id" property="ID"/>
         <result column="name" property="name"/>
         <result column="creator" property="creator"/>
@@ -24,7 +24,7 @@
         from schema where is_delete = 0
     </select>
 
-    <select id="selectBySchema" parameterType="com.ic.er.entity.SchemaDO" resultMap="BaseResultMap">
+    <select id="selectBySchema" parameterType="io.github.MigadaTang.entity.SchemaDO" resultMap="BaseResultMap">
         select
         id,name,creator,parent_id,is_delete,gmt_create,gmt_modified
         from schema
@@ -58,7 +58,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </select>
 
-    <insert id="insert" parameterType="com.ic.er.entity.SchemaDO" useGeneratedKeys="true" keyProperty="ID">
+    <insert id="insert" parameterType="io.github.MigadaTang.entity.SchemaDO" useGeneratedKeys="true" keyProperty="ID">
         insert into schema
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="name != null">
@@ -90,7 +90,7 @@
         where id = #{ID,jdbcType=BIGINT} and is_delete = 0
     </update>
 
-    <update id="updateByID" parameterType="com.ic.er.entity.SchemaDO">
+    <update id="updateByID" parameterType="io.github.MigadaTang.entity.SchemaDO">
         update schema
         <set>
             <if test="name != null">
diff --git a/src/main/resources/mybatis-config-postgre.xml b/src/main/resources/mybatis-config-postgre.xml
index ad2140e8da0a6bc350e8e96a8209c12d0b413ab2..35de71af91ab04351effc46da7da4a4c5bb02278 100644
--- a/src/main/resources/mybatis-config-postgre.xml
+++ b/src/main/resources/mybatis-config-postgre.xml
@@ -6,8 +6,8 @@
     <properties resource='jdbc-postgre.properties'/>
     <typeHandlers>
         <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler"
-                     javaType="com.ic.er.common.RelatedObjType"/>
-        <typeHandler handler="com.ic.er.common.CardinalityEnumTypeHandler"/>
+                     javaType="io.github.MigadaTang.common.RelatedObjType"/>
+        <typeHandler handler="io.github.MigadaTang.common.CardinalityEnumTypeHandler"/>
     </typeHandlers>
     <environments default='development'>
         <environment id='development'>
diff --git a/src/main/resources/mybatis-config.xml b/src/main/resources/mybatis-config.xml
index a0ff1b865799076e3c5d4d125971472afcfbfe0e..e424aca0e40d2f3587df82e5c511f2176090c8af 100644
--- a/src/main/resources/mybatis-config.xml
+++ b/src/main/resources/mybatis-config.xml
@@ -6,8 +6,8 @@
     <properties resource='jdbc.properties'/>
     <typeHandlers>
         <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler"
-                     javaType="com.ic.er.common.RelatedObjType"/>
-        <typeHandler handler="com.ic.er.common.CardinalityEnumTypeHandler"/>
+                     javaType="io.github.MigadaTang.common.RelatedObjType"/>
+        <typeHandler handler="io.github.MigadaTang.common.CardinalityEnumTypeHandler"/>
     </typeHandlers>
     <environments default='development'>
         <environment id='development'>
diff --git a/src/test/java/com/ic/er/TestAttribute.java b/src/test/java/io/github/MigadaTang/TestAttribute.java
similarity index 94%
rename from src/test/java/com/ic/er/TestAttribute.java
rename to src/test/java/io/github/MigadaTang/TestAttribute.java
index e61adb2476c8e26bce7a01033faf05c6b31834d4..e42f65eada4bbe1856edf6c891982b181b973e27 100644
--- a/src/test/java/com/ic/er/TestAttribute.java
+++ b/src/test/java/io/github/MigadaTang/TestAttribute.java
@@ -1,8 +1,8 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
-import com.ic.er.common.DataType;
-import com.ic.er.entity.AttributeDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.entity.AttributeDO;
+import io.github.MigadaTang.exception.ERException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/TestCommon.java b/src/test/java/io/github/MigadaTang/TestCommon.java
similarity index 72%
rename from src/test/java/com/ic/er/TestCommon.java
rename to src/test/java/io/github/MigadaTang/TestCommon.java
index f58fe9e0b44fa70b0689be1e6cc84a861715fc54..32dcbadedd6e8a6e2947f14649f6203bc9558d0d 100644
--- a/src/test/java/com/ic/er/TestCommon.java
+++ b/src/test/java/io/github/MigadaTang/TestCommon.java
@@ -1,4 +1,4 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 public class TestCommon {
     public static final boolean usePostgre = false;
diff --git a/src/test/java/com/ic/er/TestER.java b/src/test/java/io/github/MigadaTang/TestER.java
similarity index 93%
rename from src/test/java/com/ic/er/TestER.java
rename to src/test/java/io/github/MigadaTang/TestER.java
index b1d8e65325341a9c2ac53414c888879553f034df..642a513324f213025975b8f6d16c30066b3f5d76 100644
--- a/src/test/java/com/ic/er/TestER.java
+++ b/src/test/java/io/github/MigadaTang/TestER.java
@@ -1,8 +1,8 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
-import com.ic.er.common.Cardinality;
-import com.ic.er.common.DataType;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.exception.ERException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/TestEntity.java b/src/test/java/io/github/MigadaTang/TestEntity.java
similarity index 94%
rename from src/test/java/com/ic/er/TestEntity.java
rename to src/test/java/io/github/MigadaTang/TestEntity.java
index 2d223c8555d71c559b2671fa98b341f23cfa0ef0..f39a2fd33de8e794eca628aba717b19344aa3e33 100644
--- a/src/test/java/com/ic/er/TestEntity.java
+++ b/src/test/java/io/github/MigadaTang/TestEntity.java
@@ -1,8 +1,8 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 
-import com.ic.er.common.DataType;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.exception.ERException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/TestRelationship.java b/src/test/java/io/github/MigadaTang/TestRelationship.java
similarity index 96%
rename from src/test/java/com/ic/er/TestRelationship.java
rename to src/test/java/io/github/MigadaTang/TestRelationship.java
index 89c22e15005d8a9af2d3777926a8eca015a20cb3..c60f2d22e9004f93472c0bd492f780ad5eed05d6 100644
--- a/src/test/java/com/ic/er/TestRelationship.java
+++ b/src/test/java/io/github/MigadaTang/TestRelationship.java
@@ -1,8 +1,8 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
-import com.ic.er.common.Cardinality;
-import com.ic.er.entity.RelationshipDO;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.entity.RelationshipDO;
+import io.github.MigadaTang.exception.ERException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/TestSchema.java b/src/test/java/io/github/MigadaTang/TestSchema.java
similarity index 94%
rename from src/test/java/com/ic/er/TestSchema.java
rename to src/test/java/io/github/MigadaTang/TestSchema.java
index a11213f29b394af696d00ef33b4ef03fd917bb8b..1181e0083a099ace5631dbb3a15a9a7ef3b54983 100644
--- a/src/test/java/com/ic/er/TestSchema.java
+++ b/src/test/java/io/github/MigadaTang/TestSchema.java
@@ -1,8 +1,8 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
-import com.ic.er.common.Cardinality;
-import com.ic.er.common.DataType;
-import com.ic.er.exception.ERException;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.exception.ERException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/mapper/attributeMapperTest.java b/src/test/java/io/github/MigadaTang/mapper/attributeMapperTest.java
similarity index 95%
rename from src/test/java/com/ic/er/mapper/attributeMapperTest.java
rename to src/test/java/io/github/MigadaTang/mapper/attributeMapperTest.java
index b11f72a9e966c6bc55f3cf19460ca00c3a843c0d..b8c2cecc6820c90d9e30ecad17197491f614d000 100644
--- a/src/test/java/com/ic/er/mapper/attributeMapperTest.java
+++ b/src/test/java/io/github/MigadaTang/mapper/attributeMapperTest.java
@@ -1,9 +1,9 @@
-package com.ic.er.mapper;
+package io.github.MigadaTang.mapper;
 
-import com.ic.er.ER;
-import com.ic.er.TestCommon;
-import com.ic.er.common.DataType;
-import com.ic.er.entity.AttributeDO;
+import io.github.MigadaTang.ER;
+import io.github.MigadaTang.TestCommon;
+import io.github.MigadaTang.common.DataType;
+import io.github.MigadaTang.entity.AttributeDO;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/mapper/entityMapperTest.java b/src/test/java/io/github/MigadaTang/mapper/entityMapperTest.java
similarity index 93%
rename from src/test/java/com/ic/er/mapper/entityMapperTest.java
rename to src/test/java/io/github/MigadaTang/mapper/entityMapperTest.java
index 022c85ab96627f7bf996e723b4bb85b534e40062..e2591f399e340bc14d376c8a33d3858a5bfd2f05 100644
--- a/src/test/java/com/ic/er/mapper/entityMapperTest.java
+++ b/src/test/java/io/github/MigadaTang/mapper/entityMapperTest.java
@@ -1,8 +1,8 @@
-package com.ic.er.mapper;
+package io.github.MigadaTang.mapper;
 
-import com.ic.er.ER;
-import com.ic.er.TestCommon;
-import com.ic.er.entity.EntityDO;
+import io.github.MigadaTang.ER;
+import io.github.MigadaTang.TestCommon;
+import io.github.MigadaTang.entity.EntityDO;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/src/test/java/com/ic/er/mapper/testRelationMapper.java b/src/test/java/io/github/MigadaTang/mapper/testRelationMapper.java
similarity index 89%
rename from src/test/java/com/ic/er/mapper/testRelationMapper.java
rename to src/test/java/io/github/MigadaTang/mapper/testRelationMapper.java
index 9a99f90f9d2d3f1366fb10536d2bb1457cb3a9e9..ec53536b10d3658025cf912a4b6ade0ffab093d1 100644
--- a/src/test/java/com/ic/er/mapper/testRelationMapper.java
+++ b/src/test/java/io/github/MigadaTang/mapper/testRelationMapper.java
@@ -1,9 +1,9 @@
-package com.ic.er.mapper;
+package io.github.MigadaTang.mapper;
 
-import com.ic.er.ER;
-import com.ic.er.TestCommon;
-import com.ic.er.common.Cardinality;
-import com.ic.er.entity.RelationshipDO;
+import io.github.MigadaTang.ER;
+import io.github.MigadaTang.TestCommon;
+import io.github.MigadaTang.common.Cardinality;
+import io.github.MigadaTang.entity.RelationshipDO;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/mapper/testSchemaMapper.java b/src/test/java/io/github/MigadaTang/mapper/testSchemaMapper.java
similarity index 91%
rename from src/test/java/com/ic/er/mapper/testSchemaMapper.java
rename to src/test/java/io/github/MigadaTang/mapper/testSchemaMapper.java
index 0755a1ed09ee93e1eb3a1f335e38578190e9ee55..27fbe9590e81522f4aeb6b78f443d0652f776d5b 100644
--- a/src/test/java/com/ic/er/mapper/testSchemaMapper.java
+++ b/src/test/java/io/github/MigadaTang/mapper/testSchemaMapper.java
@@ -1,8 +1,8 @@
-package com.ic.er.mapper;
+package io.github.MigadaTang.mapper;
 
-import com.ic.er.ER;
-import com.ic.er.TestCommon;
-import com.ic.er.entity.SchemaDO;
+import io.github.MigadaTang.ER;
+import io.github.MigadaTang.TestCommon;
+import io.github.MigadaTang.entity.SchemaDO;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/ic/er/testMybatis.java b/src/test/java/io/github/MigadaTang/testMybatis.java
similarity index 97%
rename from src/test/java/com/ic/er/testMybatis.java
rename to src/test/java/io/github/MigadaTang/testMybatis.java
index 4f3513a16ec75bd70777f73495bb20cffe31dcc0..ca7577066918e99eecf748c35b5143d7dd500035 100644
--- a/src/test/java/com/ic/er/testMybatis.java
+++ b/src/test/java/io/github/MigadaTang/testMybatis.java
@@ -1,4 +1,4 @@
-package com.ic.er;
+package io.github.MigadaTang;
 
 import org.apache.ibatis.io.Resources;
 import org.apache.ibatis.session.SqlSession;