TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 228 subscribers
Post #447 119
Cododel.dev | Александр Теперь это helm (штурвал) Скоро обновление, не уверен что очень, но скоро. Думаю сделать свой полноценный sail для directus, раз уж мне приходится с ним работать на проекте. Утилита уже поддерживает создание файлов миграций и управление directus-sync cli…
Artisan для Directus | Деплой и Code driven подход

Не маленькая штука выйдет...

На проекте, под который я её делаю есть одна проблема.
Как и любого проекта на любой CMS - нет рабочих миграций и initial data.

Люди работали через rsync, просто копируя полностью весь проект...
Как на новый сервер, так и новому разработчику.

В целом - в wordpress эта практика считается нормальной, и ведется версионный учет только самописных шаблонов и плагинов.

Но этот проект позиционируется как гораздо более серьезная вещь, и на мой взгляд, не допустимо так халатно относиться к организации работы вокруг проекта.
Думал мне немного поможет эта утилита организовать полный цикл рабочего процесса, приближенный к laravel sail

В целом - твердое ДА!
Оно поможет.
Со всем можно смириться и разобраться, но самое узкое место - это данные и файлы.

Исопльзуя directus-sync — я теперь могу хранить структурированный snapshot всей модели данных directus.
Из минусов - накатывается долго и версионность обеспечивается коммитами, а не наложением версий, как при классических миграциях.

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

Вместо них реализовал систему fill-initial-data
Она представляет из себя bash скрипт, который проходится в цикле по директории directus/initial-data по отсортированным по имени sql файлам, и применяет их через psql напрямую в базу.
Штука не надежная, но рабочая - главное обеспечить правильный порядок, иначе могут быть проблемы со связями. Достигается правильный порядок указанием префикса YYYY_MM_DD_TIMESTAMP вначале имени каждого файла, подобно laravel.
Данные накатить теперь можно, при том даже не проблема достать их из существующей базы. Отлично!

А теперь uploads...
Вот с ним хз что делать)
Кроме фактического существования файла - он должен быть в базе данных, при этом у него есть relation к виртуальным директориям, для отображения в админке.
А на их id ссылаются другие сущности...
У меня есть сомнения, что это вообще нужно помещать в initial-data, тк в laravel никогда и не сталкивался с такой задачей, но именно здесь она меня напрягает.

В целом работать теперь думаю можно, а helm я скорее всего допилю. Уже отрефакторил немного.
  • 👍 4
More from @cododel_dev
  1. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  2. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  3. Sep 15, 2026Post #1153
  4. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
  5. Sep 3, 2026~/.agents — Или как устроен мой агентский воркфлоу Не знаю шарится ли кто-то по таким репо…
  6. Sep 2, 2026Прикол, а я как лох 200$ плачу... Без рофла, где они такие цены на codex берут? https://t.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →