Англійська для Drizzle Kit Studio
Вивчіть англійську лексику для потоків робіт Drizzle Studio і Drizzle Kit: інтроспекція, порівняння схем, початкові дані і локальний переглядач баз даних, з поясненнями для розробників.
Drizzle Studio надає командам візуальний спосіб перегляду та редагування їх бази даних, а Drizzle Kit обробляє потоки роботи з базою даних. Розмова про ці інструменти точно - особливо про різницю між “інтроспекцією” і “розпізнаванням схем” - допомагає уникнути плутанини при впровадженні нових інженерів або зневаджування несумісної локальної бази даних. Цей посібник містить необхідний вам словник.
Ключовий словник
** Drizzle Studio ** — локальний графічний інтерфейс на основі переглядача для перегляду і редагування рядків у вашій базі даних, запущений за допомогою drizzle-kit studio, без потреби у окремому клієнті бази даних.
- “Відкрийте Drizzle Studio, якщо ви просто хочете переглянути рядки, які використовуються, замість написання відкидного запиту.” *
** Інтроспекція ** — процес автоматичного створення файла схеми Drizzle за допомогою читання структури існуючої бази даних, який буде корисним при використанні Drizzle на базі застарілої бази даних.
- “Ми використовували інтроспекцію для завантаження файла схеми з виробничої бази даних замість написання кожної таблиці вручну.” *
** Схема порівнює ** — порівнює ваше визначення схеми TypeScript з поточним станом бази даних, щоб визначити, які зміни (додані стовпчики, перейменовані таблиці) потрібні.
- “Розпізнавання схеми Drizzle Kit повідомило, що ми перейменували стовпчик, і запитало, чи це було перейменування, чи перетягування і додавання.” *
** Скрипт запуску ** — скрипт, який заповнює базу даних початковими або прикладними даними, зазвичай, виконується після перенесення, щоб надати розробникам реалістичні локальні умови.
- “Запустіть скрипт- семантичне ядро після першого перенесення, інакше програма буде запущено з порожньою базою даних, а всі перегляди списку будуть виглядати пошкодженими.” *
** Знімок ** — збережений знімок стану вашої схеми у певний момент часу, який використовується внутрішньо програмою Drizzle Kit для обчислення відмінностей між перенесеннями. “Не редагуйте вручну файли знімків у теці migration — вони створюються, а їх редагування порушує логіку порівняння.”
** Режим відсилання ** — робочий процес, у якому зміни схеми застосовуються безпосередньо до бази даних без створення файла міграції, призначений для швидкої локальної ітерації, а не для спільних середовищ. “Ми використовуємо режим push для наших особистих баз даних розробників, але кожне середовище, яке пройшло через це, проходить реальний перехід.”
** Файл налаштувань Drizzle ** — файл drizzle.config.ts, який повідомляє Drizzle Kit, де знаходиться ваша схема, який діалект бази даних ви використовуєте, і куди виводити міграції.
“Перевірте файл налаштувань drizzle — він все ще вказує на стару теку migration, яка була до перебудови.”
Звичайні фрази
- Чи ви інтроспектували це з фактичної схеми виробництва, чи це написано від руки і можливо не синхронізовано? ”
- «Diff показує перейменування стовпця як drop-and-add — ми повинні підтвердити це вручну перед застосуванням»
- «Просто відкрийте Studio і перевірте рядок безпосередньо, замість того, щоб вгадати з журналів»
- «Повторно запустити скрипт після скасування локальної бази даних, або нічого не буде відтворено.»
- Чи це відштовхування, чи це створило справжній файл міграції, який ми можемо переглянути?»
Приклади висловлювань
Прийом нового інженера:
“Якщо ви клонували сховище і встановили DATABASE_URL, запустіть міграції, потім скрипт-сідл, і ви зможете відкрити Drizzle Studio, щоб перевірити, чи правильно завантажено прикладні дані.”
Пояснення невідповідності схеми у звіті про помилку:
- “Наша локальна база даних не синхронізована з файлом схеми — я думаю, хтось використав режим відсилання для спільного середовища, отже історія міграції не відображає те, що насправді там є. Ми повинні знову поглянути на себе, щоб підтвердити справжній стан»
Перегляд запитів на звантаження для перенесення:
- “Це виглядає як простий порівняння для нової колонки
archived_at, але чи можете ви перевірити, чи було це вилучено зі зніму як додавання, а не перейменування? Назва стовпця близька до існуючої.»*
Професійні поради
- Забезпечити “push mode” для локальних, одноразових баз даних у розмові — згадування про це в контексті стаджування або виробництва повинно негайно підняти прапорець для рецензентів.
- Використовуйте « introspect » спеціально для створення схеми з існуючої бази даних, а не для загального дослідження бази даних — для цього і призначено Drizzle Studio.
- Якщо під час порівняння схем ви отримаєте неоднозначний запит перейменування проти перетягування і додавання, описайте рішення чітко у вашому описі PR, щоб рецензентам не довелося відтворювати ваші аргументи.
- Використовуйте “seed script”, а не « test data » або « fixtures », коли мова йде про крок розробки Drizzle — це збереже термінологію у відповідності з документацією самого інструменту.
Практичні вправи
- Поясніть двома реченнями різницю між режимом відсилання і створення перенесення.
- Написати повідомлення Slack з проханням до співробітника команди підтвердити, чи була зміна схеми вчинена інтроспективно, чи написана від руки.
- Опишете, що ви перевіряєте у Drizzle Studio, якщо один з колег повідомляє, що в програмі не з’ являються дані, які було перевірено.
«Перехідний період» (англ. Transition Period) — «Перехідний період» (англ. Transition Period)
Будьмо чесними; багато комунікацій розробників не стосуються блискучих проникнень або елегантних рішень. Це часто стосується роз’яснення * того, що * потрібно зробити, і часто надається через короткий зворотній зв’язок, який відчувається більше як критика, ніж співпраця. Зрозуміти нюанси професійної англійської може кардинально змінити те, як ви отримуєте і реагуєте на ці взаємодії - особливо при обговоренні технічних деталей в інструменті, як Drizzle Studio. Недостатньо просто сказати «це не працює»; вам потрібно сформулювати * чому * це не працює, запропонувати рішення і пояснити свої аргументи чітко. Розгляньте різницю між словами «Видалити це» проти «Я помітив, що схема для таблиці users відхиляються від визначення даних сільгоспвиробника — конкретно, поле email відсутнє. Чи можете ви додати підтримку перевірки електронної пошти під час створення семінару?» Останнє повідомлення передає розуміння, пропонує виправлення, і демонструє обізнаність щодо потенційних проблем у розробці.
Цей зсув у комунікації також поширюється на описи PR. Хороший опис PR - це не просто резюме змін; це розповідь, яка пояснює * чому * ці зміни були зроблені, логіка за вибором дизайну і будь-які розглянуті компроміси. Уявіть, що ви оновлюєте DrizzleKit для підтримки складніших типів даних. Ви не просто кажете « Додано підтримку JSON ». Замість цього ви можете написати: « Впроваджено підтримку даних JSON, що дозволяє розробникам використовувати існуючі конвеєри перетворення даних у Drizzle Studio. Ця зміна спрямована на вирішення проблеми збільшення гнучкості під час додавання нових наборів даних і відповідає нашій стратегії зменшення кількості вручну внесених змін під час додавання даних. Оновлена логіка перевірки схеми тепер обробляє ширший спектр типів даних, зменшуючи потенційні помилки під час ініціалізації бази даних
Іншим важливим елементом є відповідь на коментарі перегляду коду. Отримати відгук може здатися захисним, але уважно оформити свою відповідь демонструє професіоналізм. Замість того, щоб відразу ж відмовлятися від « Ця функція могла б бути ефективнішою », спробуйте « Я дякую за пропозицію щодо оптимізації швидкодії для цієї функції. Я перевірив його і виявив вузької місця - поточна реалізація сильно залежить від синхронних запитів бази даних, які, як ви зауважили, можуть вплинути на одночасність. Я в даний час досліджую асинхронні методи запиту, щоб вирішити цю проблему, і включу ваші відгуки в наступну ітерацію. ”
drizzle seed create --schema users --data users.json --validate
За допомогою цієї команди можна продемонструвати простий спосіб використання — перевірку даних початкового рівня за схемою. Прапорець validate запускає процес перевірки схеми, забезпечуючи, що дані відповідають очікуванням перед застосуванням до бази даних. Це критичний крок у підтримці цілісності даних і запобіганні несподіваним помилкам під час розробки або розгортання.