github.com/RevenueMonster/sqlike@v1.0.6/TODO.md (about) 1 #### TODO 2 3 - [x] Support `Open tracing`. 4 - [x] Change default collation to `latin1` for `currency.Unit` and `language.Tag` for better performance. 5 - [x] Support `JSON_SET`, `JSON_REPLACE`, `JSON_REMOVE` or else. 6 - [x] Support `sqldump`. 7 - [x] `StructMapper` as an interface and enable to set in `Client` object. 8 - [x] Change `StructField` to `interface{}`. 9 - [x] Support index with files instead of single file (index.yaml). 10 - [x] `Codec` as an interface and enable to set in `Client` object. 11 - [x] Support unmarshal map key using `TextUnmarshaler` interface. 12 - [x] Support `Point`. 13 - [x] Support `LineString`. 14 - [x] Support `primary_key` tag. 15 - [x] Change `DataType` api. 16 - [x] `CreateDatabase` api. 17 - [x] Escape wildcard `%`, `_` on `LIKE` condition. 18 - [x] Add `Database` name as `table` prefix. 19 - [x] Add `Field` api. 20 - [x] Allow nil on where conditions, skip it if `nil` or invalid. 21 - [x] Support auto build index. 22 - [x] Expression `In` and `NotIn`. 23 - [x] Cursor pagination using `Paginate` api. 24 - [x] Support aggregate functions `Max`, `Min`, `Count`, `Avg`, `Sum`. 25 - [x] Connect to `MySQL` server with `options.Connect`. 26 - [x] Support omit options on `InsertOne` and `Insert`. 27 - [x] Change default primary key with `SetPrimaryKey`. 28 - [x] Support extra options like `charset` and `collation` in connection. 29 - [x] Get `MySQL` server version. 30 - [x] Drop selected `Database`. 31 - [x] Support omit options on `ModifyOne`. 32 - [x] List all `Database`. 33 - [x] Support `Tag` such as `auto_increment`, `charset`, `size`, `unsigned`, `enum`, `longtext`, `generated_column`, `virtual_column`, `stored_column`. 34 - [x] :bulb: Truncate selected `Table`. 35 - [x] :bulb: List all column for selected `Table`. 36 - [x] Add index using `CreateOne` and `CreateMany`. 37 - [x] :bulb: Drop selected `Table`. 38 - [x] :bulb: Rename `Table`. 39 - [x] :bulb: Check `Table` exists. 40 - [x] :bulb: Create single `Index` (support `unique`, `fulltext` and `spatial`). 41 - [x] :bulb: Support primary key on `Migration`. 42 - [x] :bulb: Create multiple `Index`. 43 - [x] :bulb: List all `Index`. 44 - [x] :bulb: Drop selected `Index`. 45 - [x] :bulb: `Transaction` support. 46 - [x] :bulb: Add timeout for `Transaction`. 47 - [x] :bug: Virtual column sequence in `ALTER TABLE`. 48 - [x] Support custom type `Key`. 49 - [x] Support custom type `Date`. 50 - [x] :bulb: Create `Logger`. 51 - [x] :bulb: Custom `JSON` encoder (w/o cover `Map` datatype). 52 - [x] Custom `JSON` decoder. 53 - [x] :bug: `UnmarshalJSONB` into `[]byte`. 54 - [x] :bulb: Single database `Migration`. 55 - [x] :bulb: Support `generated_column` for `Migration` (`virtual_column` or stored_column`) 56 - [x] Support `UnsafeMigrate`. 57 - [x] Support `MustUnsafeMigrate`. 58 - [x] :bulb: `InsertIgnore` & `Upsert`. 59 - [x] Set omit or setter fields on `Upsert`. 60 - [x] Insert single record into `Table`. 61 - [x] Insert multiple record into `Table`. 62 - [x] Retrieve single record from `Table`. 63 - [x] Retrieve multiple record from `Table`. 64 - [x] Update single record. 65 - [x] Modify single record using primary key. 66 - [x] Update multiple record. 67 - [x] Delete single record using primary key. 68 - [x] Delete multiple record. 69 - [x] Delete single record. 70 - [x] Replace into API. 71 - [x] Support option tag `unique_index` with create table. 72 - [x] Support option tag `unique_index` with alter table. 73 - [x] Support `charset` and `collate` on `Connect` and `CreateDatabase`. 74 - [x] :bug: (jsonb) Support nested `json.RawMessage` unmarshal. 75 - [x] Support comment. 76 - [ ] Support spatial `Polygon`. 77 - [ ] Support `charset` and `collate` on `AlterTable`. 78 - [ ] BeforeSave and AfterLoad hook. 79 - [ ] Support migration like `django`. 80 - [ ] Comprehensive `testcase`. 81 - [ ] Support insert with map. 82 - [ ] Support foreign key. 83 - [ ] Support multiple tag (reflext). 84 - [ ] Support proxy mode for master-slave topology. 85 - [ ] Support any of [index](https://dev.mysql.com/doc/refman/8.0/en/create-index.html). 86 - [ ] Support [skip locked](https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-and-nowait-to-handle-hot-rows/). 87 - [ ] [BREAKING CHANGE] collate should reside in charset package.