Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Правила наименования .sql файлов

Для корректного взаимодействия репозиториев и запросов, обернутых в отдельные файлы, необходимо придерживаться определенного свода правил наименования.

  • Для взаимодействия с файлами существует отдельная функция, которая находит нужный файл и вытаскивает из него сам запрос;

  • В методе, который выполняет SQL-запрос необходимо указывать префикс по названию файла и в соответствии с этим файлом называть директорию, в которой будут храниться запросы. Пример[10:20].
    PS: Далее возможен перенос функции выполнения запроса в helper.py;

  • Первая часть названия sql запроса необходимо называть по названию функции, из которой он будет вызываться. Например:

async def get_user_list(*) -> list:
  """ Получение абстрактных пользователей """
  result = await complete_query()
  ...

Исходя из этой абстрактной функции файл в директории необходимо начинать с "get_user_list_*.sql"

  • Если в функции, которая описана выше, выполняется несколько SQL запросов в соответствии с назначаемыми переменными в первую часть наименоваия файла добавляется название переменной. Например:
async def get_user_list(*) -> list:
  """ Получение абстрактных пользователей """
  result_1 = await complete_query(data_1)
  result_2 = await complete_query(data_2)
  ...

Исходя из этого к файлу после названия функции добавляется название переменной. Для ранее сформированного названия: get_user_list_result_1.sql. Это и будет финальным названием файла.

  • Исходя из сформированного имени файла в методе, который вызывается для запроса к базе данных (если данный функционал не был переписан в более оптимальный вариант), необходимо передавать наименования файла без расширения, который далее будет парсить вспомогательная функция из repositories/helper.py. Для наименования файла, сформированного ранее:
async def get_user_list(*) -> list:
  """ Получение абстрактных пользователей """
  result_1 = await complete_query(
    filename="get_user_list_result_1"
  )
  result_2 = await complete_query(
    filename="get_user_list_result_2"
  )
  ...