@@ -45,11 +45,15 @@ The `order` determines when the Change executes relative to others.
4545  -  In the annotation (@Change  ) or YAML structure
4646-  Both are optional, but ** at least one is required** 
4747-  If order is specified in ** both**  locations, they ** must be identical** 
48- -  For file/class names:
49-   -  Must start with underscore ` _ ` 
50-   -  Order is extracted between the first ` _ `  and the last ` _ ` 
51-   -  Recommended format: ` YYYYMMDD_NN `  (e.g., ` _20250923_01_CreateUserTable.java ` )
52-   -  Order extracted: everything between first and last underscore (e.g., ` 20250923_01 ` )
48+ -  ** For file/class names - Order Extraction Rule** :
49+   -  ** Must start with underscore ` _ ` **  (first character)
50+   -  ** Order is everything between the first ` _ `  and the last ` _ ` ** 
51+   -  ** Examples of order extraction** :
52+     -  ` _20250923_01_CreateUserTable.java `  → order: ` 20250923_01 ` 
53+     -  ` _001_SimpleChange.java `  → order: ` 001 ` 
54+     -  ` _2024_12_25_HolidayUpdate.yaml `  → order: ` 2024_12_25 ` 
55+     -  ` _V1_0_1_DatabaseUpgrade.java `  → order: ` V1_0_1 ` 
56+   -  ** Recommended format** : ` YYYYMMDD_NN `  (year-month-day-sequence)
5357-  Orders are evaluated in alphanumeric order
5458:::
5559
@@ -225,11 +229,28 @@ _20250924_01_AddUserStatusColumn.yaml
225229_20250925_01_OptimizeQueries.java 
226230``` 
227231
232+ ### How Flamingock Extracts Order from Filenames  
233+ 
234+ Flamingock uses a simple rule to extract the order value from your filename:
235+ 
236+ 1 .  ** Filename must start with underscore ` _ ` ** 
237+ 2 .  ** Everything between the first ` _ `  and the last ` _ `  becomes the order** 
238+ 3 .  ** Everything after the last ` _ `  is treated as the descriptive name** 
239+ 
240+ ** Step-by-step examples:** 
241+ 
242+ |  Filename |  First ` _ `  |  Last ` _ `  |  Extracted Order |  Descriptive Name | 
243+ | ----------| -----------| ----------| ----------------| ------------------| 
244+ |  ` _20250923_01_CreateUsers.java `  |  position 0 |  position 11 |  ` 20250923_01 `  |  ` CreateUsers.java `  | 
245+ |  ` _001_SimpleChange.yaml `  |  position 0 |  position 4 |  ` 001 `  |  ` SimpleChange.yaml `  | 
246+ |  ` _V1_0_1_DatabaseUpgrade.java `  |  position 0 |  position 7 |  ` V1_0_1 `  |  ` DatabaseUpgrade.java `  | 
247+ 
228248** Rules:** 
229249-  Start with underscore and order (recommended: YYYYMMDD_NN format)
230250-  Use PascalCase for descriptive names
231- -  Match the  ` order `  property in the  annotation if provided 
251+ -  If  order is also specified in  annotation/YAML, both values  ** must be identical ** 
232252-  Applies to both code (.java/.kt/.groovy) and template (.yaml/.json) files
253+ -  Orders are compared alphanumerically for execution sequence
233254
234255## Complete example  
235256
0 commit comments