---
type: JS Module
title: main.mjs
resource: npm/rules/hasura/migrations/main.mjs
docgen:
  crc: 9515e42e
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.95
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Файл перевіряє, чи відповідає структура директорії міграцій Hasura встановленим критеріям: присутність лише файлів `up.sql` та відсутність файлів з іменем `down.sql`.

Викликається `main` для перевірки директорії міграцій Hasura. Якщо директорія `hasura/migrations` відсутня, перевірка вважається успішно виконаною, оскільки для неї не потрібна перевірка наявності `down.sql` (hasura.mdc). Якщо директорія присутня, виконується рекурсивний пошук у ній. Будь-які файли з іменем `down.sql` знаходяться і реєструються як порушення (hasura.mdc), оскільки в директорії міграцій має бути присутній лише `up.sql` (hasura.mdc). Якщо `down.sql` не знайдено, перевірка вважається успішно виконаною (hasura.mdc).

## Поведінка

Поведінка:

1. Викликається `main` для перевірки директорії міграцій Hasura.
2. Якщо директорія `hasura/migrations` відсутня, перевірка вважається успішно виконаною, оскільки для неї не потрібна перевірка наявності `down.sql` (hasura.mdc).
3. Якщо директорія присутня, виконується рекурсивний пошук у ній.
4. Будь-які файли з іменем `down.sql` знаходяться ідентифіковані та зареєстровані як порушення (hasura.mdc), оскільки в директорії міграції має бути присутній лише `up.sql` (hasura.mdc).
5. Якщо `down.sql` не знайдено, перевірка вважається успішно виконаною (hasura.mdc).

## Публічний API

main — перевіряє відсутність файлів `down.sql` у директорії міграцій Hasura, гарантуючи, що міграції містять лише `up.sql`.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
