GithubHelp home page GithubHelp logo

sagittaracc / suql Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.28 MB

FullStack framework.

License: MIT License

PHP 98.81% JavaScript 0.98% Go 0.21%
php query-builder sql databases orm mysql sqlite sqlite3 pgsql postresql query-language sugar sugarorm linq database event-database trigger-events fullstack framework golang

suql's Introduction

suckle

SuQL

SuQL

SuQL (pronounced 'suckle') is a fullstack framework.

Installation

composer require sagittaracc/suql

Documentation

You can read the documentation here

Requirements

PHP >= 8.0

Tests

To run tests:

./vendor/bin/phpunit tests

Psalm

./vendor/bin/psalm

suql's People

Contributors

sagittaracc avatar sergeifokin938 avatar sinichkinpavl avatar yriiarutiunian avatar

Watchers

 avatar

suql's Issues

Бага с order

Поле указанное для order не попадает автоматически в select

Проблема размера буфера

Проверить возможную проблему нехватки буфера при слишком длинной цепочки вызовов функций. Сделать цепочку вызовов функций максимально гибкой.

Много проблем с join (OSuQL)

  1. Составное условие в join
  2. Некоторые rel - должны быть временные (Join со вложенными таблицами временными)
  3. Таблицы линкуются не обязательно текущая с предыдущей.

Сравнение двух запросов

Из за некоторых пробелов, знаков табуляций и переносов, строки сравниваются не верно.
Подумать над trim незначимых пробельных символов

Функции group, order etc

Перевести такие функции как group, order и тд. которые уже реализованы, на общий механизм функций сделанный в 1.1

Custom modifiers

пользовательские модификаторы вынести из сборки так как подразумевается их расширение пользователями.

join in suql

вынести join не как модификатор, а сделать как в принципи osuql.
Все связи задавать и прописывать изначально.

Проблема вывода полей

Выводить нужно не все поля. Некоторые поля запрошенные с поощью field нужны тольжко в служебных целях

Сборка

Выполнить сборку библиотеки

SuQLBuilder логически неправильный компонент

Необходимо избавиться от компонента SuQLBuilder, так как он логически не верный.
Мы не собираем SuQL запрос, ведь он изначально дан. Мы собираем SQL. Следовательно необходимо оставить один компонент SQLBuilder.

SuQL syntax

Требует полной переработки.
Вследствии, что хочу уйти от модификатора join

join bug

Join через таблицу по принципу не 1 с 2 и 2 с 3, а 1 с 2 и 1 с 3

Задание алиасов в rel

Заменяются некорректно, усовершенствовать алгоритм замены.
Учитывать "alias.". Потому что когда заменяю просто алиас, заменяются нежелательные фрагменты строки

Modifier

Сделать класс базовых модификатора функций sql и кастомных расширяющих их.

Добавить поддержку where

Добавить поддержку where, а также проверить возможно ли сделать where во внешнем запросе, если запросил все поля в select секции?

Переработка join

Подумать над синтаксис ом join переработать например задавая поле по которому делать join сразу при перечисление полей типа users {id.join}

OSuQL field refactoring

В обработчике field, алиас для поля задавать не вторым параетром, а так:

->field(['field_name' => 'alias'])...

Refactor names

Suql синтаксис обработчик. Изменить имя builder на adapter

Проблема SQLObject format

SQLObject format. Из селект секции убрать странное формирование типа count(table.field) as alias... Ключ поля должен быть в формате вида

.@, а последующее формирование select должно быть уже при building запроса окончательного sql

Тесты

Расписать тесты с одинаковыми запросами для OSuQL and SuQL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.