|
1 | | -# TODO |
2 | | -- [x] `order_by()`: добавить возможность указывать несколько полей для сортировки [0.3.4] |
3 | | -- [x] `group_by()`: добавить возможность указывать несколько полей [0.3.4] |
4 | | -- [x] `_prepare_conditions()`: если 2й параметр (вместо условия) не оператор, то оператор `=` [0.3.4] |
5 | | -- [x] `_prepare_conditions()`: если 2й параметр список, то оператор `IN` [0.3.4] |
6 | | -- [x] добавить метод `pluck(id, column)` (как в Laravel) [0.3.4] |
7 | | -- [x] добавить методы `is_null(field)`, `is_not_null(field)` и `not_null(field)` [0.3.5] |
8 | | -- [x] в методах `like()` и `not_like()` можно без `[]` [0.3.5] |
9 | | -- [x] св-во `_print_errors` и параметр в `__init__()` [0.3.5] |
10 | | -- [x] параметр `result_dict` в `QB.__init__()` [0.3.5] |
11 | | -- [x] в методе `get_sql()` `?` меняются на соответствующие значения [0.3.5] |
12 | | -- [x] рефактор методов `query()`, `pluck()` и `column()` [0.3.6] |
13 | | -- [X] вынести в отдельный файл классы `MetaSingleton` и `DataBase` [0.4] |
14 | | -- [X] добавить мат.операторы (и не только) в поля [0.4] |
15 | | -- [X] добавить `UNION` и `UNION ALL` [0.4] |
16 | | -- [X] добавить `DISTINCT` в `SELECT` [0.4] |
17 | | -- [X] добавить `EXCEPT` в `SELECT` [0.4] |
18 | | -- [X] добавить `INTERSECT` в `SELECT` [0.4] |
19 | | -- [X] в методе `get_sql()` параметр `with_values=True` [0.4] |
20 | | -- [X] добавить метод `has_error()` на замену `get_error()` в след.версии [0.4] |
21 | | -- [X] добавить метод `__str__()` [0.4] |
22 | | -- [X] добавить `list` в типы параметров `table` [0.4] |
23 | | -- [X] покрыть тестами SQL методы: `SELECT, INSERT, UPDATE, DELETE` (примеры из README + новые методы) [0.4] |
24 | | -- [X] разделить документацию на файлы [0.4] |
25 | | -- [X] добавить новые фун-ии в документацию [0.4] |
26 | | -- [X] добавить `CREATE VIEW view_name AS SQL_SELECT` [0.4] |
27 | | -- [X] добавить `DROP VIEW view_name` [0.4] |
28 | | -- [ ] в `.where()` можно передавать по 1 или 2 строки вместо списка [0.4?] |
29 | | -- [ ] добавить скобки `()` в выражения (subquery). сложенные выражения (select в select'e), использование в field, from, where, join [0.5?] |
30 | | -- [ ] добавить `WHERE EXISTS` [0.5?] |
31 | | -- [ ] добавить `BETWEEN` [0.5?] |
32 | | -- [ ] добавить `WITH` [0.5?] |
33 | | -- [ ] создать **класс `TableBuilder`** для манипуляций с таблицами [0.5?] |
34 | | -- [ ] перенести в **`TableBuilder`** методы `qb.drop()` и `qb.truncate()` [0.5?] |
35 | | -- [ ] перенести в **`TableBuilder`** методы `qb.create_view()` и `qb.drop_view()` [0.5?] |
36 | | -- [ ] добавить транзакции? [0.5?] |
37 | | -- [ ] **! добавить поддержку MySQL !** [0.5?] |
38 | | -- [ ] добавить метод для вызова процедур (SQL: CALL) `mysql` [0.5?] |
39 | | -- [ ] поддержка PosgreSQL [0.5?] |
40 | | -- [ ] **добавить исключения вместо сообщений об ошибках** [0.5?] |
41 | | -- [ ] добавить парсинг в объект? |
42 | | -- [ ] класс `Collection`, вынести туда методы `first()`, `last()`, `all()`, `one()` и т.п. |
43 | | -- [ ] класс `DBQuery`, вынести в него `query()` и т.п. возвращает класс `Collection`, добавить конвертацию в список (текущий формат) |
44 | | -- [ ] класс `DataMapper`, переводит таблицу в объект. поля таблицы = св-ва |
45 | | - |
46 | | -https://dev-gang.ru/article/cozdanie-s-nulja-prostoi-orm-na-python-5qz3j9ooul/ |
47 | | -https://www.sqlitetutorial.net/sqlite-subquery/ |
| 1 | +## ToDo |
| 2 | +I'm going to add the next features into future versions |
| 3 | +- write more unit testes |
| 4 | +- add subqueries for QueryBuilder |
| 5 | +- add `BETWEEN` |
| 6 | +- add `WHERE EXISTS` |
| 7 | +- add TableBuilder class (for beginning `CREATE TABLE`, move `qb.drop()` and `qb.truncate()` into it) |
| 8 | +- add MySQL support |
| 9 | +- add PostgreSQL support |
| 10 | +- add `WITH` |
| 11 | +- and probably something more |
0 commit comments