PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Tablediff.

tablediff — это минималистичный CLI‑инструмент для diff’а данных между двумя таблицами (dev vs prod, разные БД, миграции и пр.), построенный поверх reladiff и уже проверенный с DuckDB и Snowflake.
​
🔹Что делает:

🔘Сравнивает две таблицы по первичному ключу и даёт краткий сводный отчёт: совпадают ли данные или нет.
​
🔘С флагом --extended показывает:

✔️общие и уникальные колонки;

✔️по 5 id, которые не совпадают, и по 5 id, которые есть только в каждой из таблиц.
​
🔘Поддерживает --where, чтобы сравнивать только нужный срез данных (например, последние 7 дней или только status = 'active').
​
⚙️Установка:

🔘DuckDB: pip install "tablediff-cli[duckdb]"

🔘Snowflake: pip install "tablediff-cli[snowflake]"
​
🔻Базовый вызов:
tablediff TABLE_A TABLE_B --pk id --conn duckdb://./sample.duckdb
или
tablediff DEV.MART.USERS PROD.MART.USERS --pk USER_ID --conn "snowflake://..."


​#tablediff #Python #CLI #DataEngineering #DuckDB #Snowflake #DataQuality #DataDiff #ETL #Analytics
​
📱Ссылка на репозиторий:
https://github.com/oleg-agapov/tablediff
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍1
📱Jetbase.

Jetbase — это лёгкий миграционный инструмент для БД в Python‑проектах: SQL‑файлы с версиями, апгрейды/роллбеки, валидация и блокировка миграций, плюс поддержка Postgres, SQLite, Snowflake и MySQL.

❓Что умеет:

🔘Простая инициализация: pip install jetbase → jetbase init создаёт каталог jetbase/ c migrations/ и env.py.

🔘Версионированные миграции в виде SQL‑файлов V<version>__<description>.sql, c блоками -- upgrade и -- rollback, и командами jetbase upgrade, jetbase history, jetbase status.

🔘Безопасность: file checksum’ы, миграционный lock (один процесс за раз), линейная история (всегда один head, конфликт версий падает сразу), repeatable‑миграции.

🔹Поддерживаемые БД и драйверы:

🔘Поддерживаются PostgreSQL, SQLite, Snowflake и MySQL через SQLAlchemy URL в jetbase/env.py.

🔘Для небустроенного SQLite требуются драйверы: например, psycopg2 для Postgres или соответствующий Snowflake/MySQL драйвер.

🔻Пример:

Настройка подключения, затем:
  jetbase new "create users table" -v 1

# редактируем V1__create_users_table.sql
jetbase upgrade

SQL: в -- upgrade создаём таблицы, в -- rollback — удаляем, что упрощает откаты.

#Jetbase #Python #DatabaseMigrations #PostgreSQL #SQLite #Snowflake #MySQL #SQLAlchemy #DevTools #DataEngineering

📱Ссылка на репозиторий:
https://github.com/jetbase-hq/jetbase
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2🔥11