diff --git a/.github/animation.gif b/.github/animation.gif
new file mode 100644
index 0000000..32cb072
Binary files /dev/null and b/.github/animation.gif differ
diff --git a/README.md b/README.md
index e8cc121..7a28302 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,15 @@
# A2Workspace/Laravel-Database-Patcher
+

+
一個基於專案的資料庫補丁管理工具。
+隨著專案的進行,難免需要對現有的資料表修修補補,但檔案過於複雜的 `database/migrations` 可能會產生一些問題。`a2workspace/laravel-database-patcher` 提供簡易的管理工具,讓你可以使用獨立的 `database/patches` 資料夾,來放置額外的 **遷移檔 (Migration)** 。
+
+本套件可以解決以下問題:
+- 開發者想增加某些修復用的 **遷移檔 (Migration)** ,但又不想放進 `database/migrations` 影響開發或測試的情形
+- 運維人員想編寫一些資料修正的腳本,又不想影響開發或測試的情形
+- 運維人員想編寫一些資料修正的腳本,並在測試機環境執行一遍,待測試過了才在正式機環境運行的情形
## Installation | 安裝
@@ -12,10 +20,35 @@ composer config repositories.laravel-database-patcher vcs https://github.com/A2W
composer require "a2workspace/laravel-database-patcher:*"
```
+接著使用 `vendor:publish` 命令生成 `database/patches` 資料夾:
+
+```bash
+php artisan vendor:publish --tag=@a2workspace/laravel-database-patcher
+```
+
## Usage | 如何使用
-現在你可以使用 `db:patch` [Artisan 命令](https://laravel.com/docs/9.x/artisan)來管理資料庫遷移補丁。該命令將會讀取 `database/patches` 下的 [Migrations 遷移檔](https://laravel.com/docs/9.x/migrations)
+現在你可以使用 `db:patch` [Artisan 命令](https://laravel.com/docs/9.x/artisan)來管理資料庫遷移補丁。
-```
+```bash
php artisan db:patch
```
+
+該命令將會讀取 `database/patches` 下的 [Migrations 遷移檔](https://laravel.com/docs/9.x/migrations),並列出可用選項。
+
+### Reverting Back Patches | 還原已安裝的補丁
+使用 `--revert` 或簡寫 `-r` 參數,可將已安裝的遷移檔進行 **滾回 (rollback)** 動作:
+
+```bash
+php artisan db:patch --revert
+```
+
+## Generating Patches | 如何產生補丁檔
+
+補丁與原生的 **遷移檔 (Migration)** 完全相同,你可以參考 [Generating Migrations](https://laravel.com/docs/9.x/migrations#generating-migrations) 與 [Updating Tables](https://laravel.com/docs/9.x/migrations#updating-tables) 的說明生成 **遷移檔 (Migration)** ,接著再把檔案移至 `database/patches` 資料夾內。
+
+或直接用 `make` 命令生成:
+
+```bash
+php artisan make:migration --path=database/patches add_soft_deletes_to_users_table
+```