برنامه نویسی

تغییرات طرحواره نئون را با Drizzle و GitHub Actions به صورت خودکار انجام دهید

Summarize this content to 400 words in Persian Lang
در حالی که استقرار کد به روز شده در محیط های مختلف نسبتاً ساده است، استفاده از تکنیک های مشابه در یک پایگاه داده رابطه ای می تواند فاجعه آمیز باشد.

کد برنامه بدون حالت است، به این معنی که می توانید کد را برای ایجاد مجدد برنامه در هر زمان بازسازی کنید. در واقع، هنگام استقرار کدهای به روز شده در پلتفرم هایی مانند Vercel، ابزار به سادگی آخرین نسخه برنامه را ساخته و ارسال می کند و نسخه قبلی را بازنویسی می کند.

با این حال، پایگاه‌های اطلاعاتی حالتی دارند، زیرا مقدار آن در داده‌های موجود در آنها است. استفاده از روش استقرار یکسان در یک پایگاه داده (حذف و جایگزینی آن با نسخه جدید) برای کاربران یا کسب و کار شما مضر است.

در این مقاله، شما می آموزید که مهاجرت های طرحواره چیست، چگونه می توان از آنها برای ایجاد تغییرات ایمن در پایگاه داده استفاده کرد و چگونه این تغییرات را در پایگاه داده نئون با استفاده از Drizzle و GitHub Actions خودکار کرد.

مهاجرت طرحواره چیست؟

مهاجرت های طرحواره راهی برای اعمال تغییرات در طرحواره یک پایگاه داده به صورت کنترل شده است.

به طور معمول هر مهاجرت طرحواره یک اسکریپت SQL است که برای به روز رسانی طرحواره به آخرین نسخه در پایگاه داده اعمال می شود. فایل های مهاجرت را می توان در کنترل نسخه ذخیره کرد تا وضعیت طرحواره را بتوان در طول زمان ردیابی کرد.

مهاجرت های طرحواره برای به روز رسانی طرحواره پایگاه داده به دلیل نیاز به تغییرات استفاده می شود، اما همچنین می تواند برای ایجاد محیط های جدید استفاده شود. برای ایجاد مجدد پایگاه داده تا یک نقطه زمانی خاص، مهاجرت ها می توانند به همان ترتیبی که ایجاد شده اند اعمال شوند.

مهاجرت و استقرار طرحواره

هنگام ساخت برنامه ای که از پایگاه داده رابطه ای استفاده می کند، اغلب در هر محیط یک پایگاه داده متفاوت خواهید داشت. هر پایگاه داده از یکدیگر جدا شده است، بنابراین تغییر طرحواره در یک محیط پایگاه داده بر سایرین تأثیر نمی گذارد.

فرض کنید شما دو محیط دارید، یک محیط توسعه دهنده برای ایجاد ویژگی های جدید و یک محیط تولید که کاربران شما فعالانه از آن استفاده می کنند.

وقتی یک ویژگی کامل شد، کد خود را با هم ادغام کنید dev شعبه به main نسبتاً ساده است. هنگامی که جدیدترین نسخه برنامه ساخته شد، مصنوعات آن بیلد در محیط تولید مستقر می شوند و جایگزین نسخه قبلی می شوند.

آخرین مهاجرت های طرحواره نیز به پایگاه داده اعمال می شود و طرحواره را برای پشتیبانی از آخرین نسخه برنامه به روز می کند. اگر به درستی انجام شود، تمام داده های داخل پایگاه داده دست نخورده باقی می مانند.

نحوه ایجاد و اعمال مهاجرت های طرحواره با Drizzle

اکنون که متوجه شدید مهاجرت های طرحواره چیست و چگونه هنگام استقرار نسخه های جدید پایگاه داده خود استفاده می شود، بیایید یک مثال عملی را با استفاده از Drizzle بررسی کنیم.

Drizzle یک ORM ایمن برای برنامه هایی است که با TypeScript ساخته شده اند. این تیم همچنین کیت Drizzle را برای مدیریت طرح واره پایگاه داده ساخته است. Drizzle Kit می‌تواند برای تجزیه و تحلیل مدل‌های TypeScript شما، ایجاد مهاجرت‌های طرحواره از مدل‌ها و اعمال آن‌ها در پایگاه داده استفاده شود.

برنامه آزمایشی

در ادامه این مقاله از یک نمونه برنامه کار برای نشان دادن نحوه استفاده از مهاجرت های طرحواره برای اعمال تغییرات پایگاه داده استفاده می شود. این برنامه از پایگاه داده Postgres که توسط Neon میزبانی شده است، با یک طرح نسبتا ساده استفاده می کند.

من روند اضافه کردن یک ستون به آن را نشان خواهم داد tasks جدول (در زیر نشان داده شده است) به طوری که هر وظیفه بتواند توضیحی را در آن ذخیره کند.

برای شبیه سازی چندین محیط، پایگاه داده نئون دارای یک main شاخه ای که حاوی داده های تولید و الف dev شاخه ای که یک محیط ایزوله است که برای افزودن و آزمایش ویژگی های جدید استفاده می شود.

تمام کدهای نشان داده شده در این مقاله در GitHub موجود است.

به روز رسانی محیط توسعه

من با به روز رسانی کد در شروع می کنم dev شعبه برای پشتیبانی از یک فیلد “توضیحات”. tasks مدل:

// src/db/schema.ts
export const tasks = pgTable(‘tasks’, {
id: serial(‘id’).primaryKey(),
name: text(‘name’),
is_done: boolean(‘is_done’),
owner_id: text(‘owner_id’),
created_in: timestamp(‘created_on’),
created_by_id: text(‘created_by_id’),
description: text(‘description’), // Add the description field
})

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برنامه دارای موارد زیر است drizzle.config.ts که Drizzle Kit برای مکان یابی فایل های طرحواره در پروژه، تولید و ذخیره مهاجرت ها و اتصال به پایگاه داده استفاده می کند:

// drizzle.config.ts
import type { Config } from ‘drizzle-kit’

export default {
schema: ‘./src/db/schema.ts’,
out: ‘./drizzle’,
dialect: ‘postgresql’,
dbCredentials: {
url: process.env.DATABASE_URL as string,
},
verbose: true,
strict: true,
} satisfies Config

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بعد، دستور زیر را اجرا می کنم که یک فایل مهاجرت طرحواره جدید ایجاد می کند. من هم تنظیم می کنم DATABASE_URL متغیر محیطی استفاده شده توسط drizzle.config.ts:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-weathered-wildflower-a5okjpjr.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit generate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فایل جدید به طور خودکار تولید و در آن قرار می گیرد drizzle پوشه با SQL لازم برای اعمال:

— drizzle/0001_loose_mojo.sql
ALTER TABLE “tasks” ADD COLUMN “description” text;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مرحله بعد، دستور زیر را برای به روز رسانی طرح پایگاه داده در نئون اجرا می کنم و دستور زیر را اضافه می کنم description ستون:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-weathered-wildflower-a5okjpjr.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit migrate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اعمال مهاجرت، ستون جدید به پایگاه داده اضافه شده و آماده آزمایش است. اکنون این طرح به شکل زیر خواهد بود:

به روز رسانی محیط تولید

وقتی آماده انتقال کد به تولید شدم، می‌توانم مهاجرت‌ها را به کد اعمال کنم main با عبور از رشته اتصال آن شاخه، پایگاه داده را منشعب کنید:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-frosty-tree-a54nb30r.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit migrate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اعمال مهاجرت به main شعبه پایگاه داده، من می توانم نسخه تولیدی برنامه خود را مستقر کنم. پلتفرم هایی مانند Vercel (که من از آن برای میزبانی این برنامه استفاده می کنم) معمولاً بر روی آن نظارت می کنند main شاخه ای از یک مخزن برای تغییرات و شروع فرآیند استقرار زمانی که تغییری شناسایی شد. ادغام کد من تغییر می کند main ابزارهای CI Vercel را برای استقرار جدیدترین نسخه کد فعال می کند.

من می‌توانم برنامه‌ام را با ادغام تغییرات در Vercel اجرا کنم main شاخه کد و به ابزارهای CI Vercel اجازه می دهد تا جدیدترین نسخه کد را اجرا کنند.

در حالی که این مثال یک تغییر واحد ایجاد می‌کند، مهاجرت‌های چندگانه طرحواره را می‌توان ایجاد کرد و بین استقرارها برای تغییرات طرح‌واره پیچیده‌تر اعمال کرد. فایل‌ها به ترتیبی که ایجاد شده‌اند اعمال می‌شوند، تا اطمینان حاصل شود که وضعیت پایگاه داده تولید با محیط توسعه مطابقت دارد.

انتقال خودکار با GitHub Actions

استفاده از Drizzle Kit برای اعمال مهاجرت های طرحواره کمک می کند تا اطمینان حاصل شود که طرح شما به طور ایمن در بین استقرارها به روز می شود، اما انجام دستی این عملیات نقطه شکست را در فرآیند معرفی می کند. اگر فراموش کردید که مهاجرت ها را اعمال کنید، و طرح شما با آنچه برنامه انتظار دارد مطابقت ندارد، می توانید ناخواسته سرویس خود را حذف کنید.

GitHub Actions، پلتفرمی که در GitHub ساخته شده است، راهی را برای توسعه‌دهندگان فراهم می‌کند تا گردش‌های کاری را تعریف کنند که زمانی که رویدادهای خاص (مانند ایجاد تغییرات در یک شعبه مخزن) در GitHub اتفاق می‌افتند، به‌طور خودکار اجرا می‌شوند. بیایید ببینیم که چگونه GitHub Actions می‌تواند به‌طور خودکار مهاجرت‌ها را زمانی که کد روی آن اعمال می‌شود، اعمال کند main تغییر شاخه

ابتدا باید رشته اتصال را برای پایگاه داده خود در GitHub به گونه ای ذخیره کنم که سرویس GitHub Actions بتواند به آن دسترسی داشته باشد. این کار با افزودن یک مخزن مخزن انجام می شود “تنظیمات” زیر “رازها و متغیرها”، سپس “اقدامات”.

گردش کار GitHub Actions زیر می تواند برای اجرا استفاده شود drizzle-kit migrate هر بار که تغییری در main شعبه در GitHub:

name: Apply schema migrations

# 👉 Only run this workflow when a change is made to the main branch
on:
push:
branches:
– main

jobs:
apply_migrations:
runs-on: ubuntu-latest
steps:
– name: Checkout
uses: actions/checkout@v3
– name: Install dependencies & tooling
run: |
npm install
npm install -g drizzle-orm drizzle-kit pg
– name: Apply migrations
run: drizzle-kit migrate
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از آنجایی که Vercel زمانی که تغییراتی در آن ایجاد می شود، استقرار را راه اندازی می کند main در شعبه مخزن، گردش کار Actions همزمان با استقرار راه اندازی می شود و تضمین می کند که نسخه های کد و طرحواره شما همیشه هماهنگ هستند.

نتیجه گیری

اعمال صحیح تغییرات در پایگاه داده زمانی که ویژگی‌های جدید به برنامه اضافه می‌شوند، برای حفظ داده‌ها در پایگاه داده و همچنین حفظ زمان آپدیت برنامه شما مهم است.

پس از خواندن این مقاله، اکنون متوجه می شوید که مهاجرت های طرحواره چیست و چگونه در چرخه عمر توسعه یک پایگاه داده استفاده می شود. همچنین باید بدانید که چگونه از Drizzle برای ایجاد و اعمال مهاجرت ها استفاده کنید و چگونه این فرآیند را با استفاده از GitHub Actions خودکار کنید.

در حالی که استقرار کد به روز شده در محیط های مختلف نسبتاً ساده است، استفاده از تکنیک های مشابه در یک پایگاه داده رابطه ای می تواند فاجعه آمیز باشد.

کد برنامه بدون حالت است، به این معنی که می توانید کد را برای ایجاد مجدد برنامه در هر زمان بازسازی کنید. در واقع، هنگام استقرار کدهای به روز شده در پلتفرم هایی مانند Vercel، ابزار به سادگی آخرین نسخه برنامه را ساخته و ارسال می کند و نسخه قبلی را بازنویسی می کند.

با این حال، پایگاه‌های اطلاعاتی حالتی دارند، زیرا مقدار آن در داده‌های موجود در آنها است. استفاده از روش استقرار یکسان در یک پایگاه داده (حذف و جایگزینی آن با نسخه جدید) برای کاربران یا کسب و کار شما مضر است.

در این مقاله، شما می آموزید که مهاجرت های طرحواره چیست، چگونه می توان از آنها برای ایجاد تغییرات ایمن در پایگاه داده استفاده کرد و چگونه این تغییرات را در پایگاه داده نئون با استفاده از Drizzle و GitHub Actions خودکار کرد.

مهاجرت طرحواره چیست؟

مهاجرت های طرحواره راهی برای اعمال تغییرات در طرحواره یک پایگاه داده به صورت کنترل شده است.

به طور معمول هر مهاجرت طرحواره یک اسکریپت SQL است که برای به روز رسانی طرحواره به آخرین نسخه در پایگاه داده اعمال می شود. فایل های مهاجرت را می توان در کنترل نسخه ذخیره کرد تا وضعیت طرحواره را بتوان در طول زمان ردیابی کرد.

مهاجرت های طرحواره برای به روز رسانی طرحواره پایگاه داده به دلیل نیاز به تغییرات استفاده می شود، اما همچنین می تواند برای ایجاد محیط های جدید استفاده شود. برای ایجاد مجدد پایگاه داده تا یک نقطه زمانی خاص، مهاجرت ها می توانند به همان ترتیبی که ایجاد شده اند اعمال شوند.

مهاجرت و استقرار طرحواره

هنگام ساخت برنامه ای که از پایگاه داده رابطه ای استفاده می کند، اغلب در هر محیط یک پایگاه داده متفاوت خواهید داشت. هر پایگاه داده از یکدیگر جدا شده است، بنابراین تغییر طرحواره در یک محیط پایگاه داده بر سایرین تأثیر نمی گذارد.

فرض کنید شما دو محیط دارید، یک محیط توسعه دهنده برای ایجاد ویژگی های جدید و یک محیط تولید که کاربران شما فعالانه از آن استفاده می کنند.

وقتی یک ویژگی کامل شد، کد خود را با هم ادغام کنید dev شعبه به main نسبتاً ساده است. هنگامی که جدیدترین نسخه برنامه ساخته شد، مصنوعات آن بیلد در محیط تولید مستقر می شوند و جایگزین نسخه قبلی می شوند.

آخرین مهاجرت های طرحواره نیز به پایگاه داده اعمال می شود و طرحواره را برای پشتیبانی از آخرین نسخه برنامه به روز می کند. اگر به درستی انجام شود، تمام داده های داخل پایگاه داده دست نخورده باقی می مانند.

نحوه ایجاد و اعمال مهاجرت های طرحواره با Drizzle

اکنون که متوجه شدید مهاجرت های طرحواره چیست و چگونه هنگام استقرار نسخه های جدید پایگاه داده خود استفاده می شود، بیایید یک مثال عملی را با استفاده از Drizzle بررسی کنیم.

Drizzle یک ORM ایمن برای برنامه هایی است که با TypeScript ساخته شده اند. این تیم همچنین کیت Drizzle را برای مدیریت طرح واره پایگاه داده ساخته است. Drizzle Kit می‌تواند برای تجزیه و تحلیل مدل‌های TypeScript شما، ایجاد مهاجرت‌های طرحواره از مدل‌ها و اعمال آن‌ها در پایگاه داده استفاده شود.

برنامه آزمایشی

در ادامه این مقاله از یک نمونه برنامه کار برای نشان دادن نحوه استفاده از مهاجرت های طرحواره برای اعمال تغییرات پایگاه داده استفاده می شود. این برنامه از پایگاه داده Postgres که توسط Neon میزبانی شده است، با یک طرح نسبتا ساده استفاده می کند.

من روند اضافه کردن یک ستون به آن را نشان خواهم داد tasks جدول (در زیر نشان داده شده است) به طوری که هر وظیفه بتواند توضیحی را در آن ذخیره کند.

یک جدول پایگاه داده که ستون های نامگذاری شده را نشان می دهد

برای شبیه سازی چندین محیط، پایگاه داده نئون دارای یک main شاخه ای که حاوی داده های تولید و الف dev شاخه ای که یک محیط ایزوله است که برای افزودن و آزمایش ویژگی های جدید استفاده می شود.

تمام کدهای نشان داده شده در این مقاله در GitHub موجود است.

به روز رسانی محیط توسعه

من با به روز رسانی کد در شروع می کنم dev شعبه برای پشتیبانی از یک فیلد “توضیحات”. tasks مدل:

// src/db/schema.ts
export const tasks = pgTable('tasks', {
  id: serial('id').primaryKey(),
  name: text('name'),
  is_done: boolean('is_done'),
  owner_id: text('owner_id'),
  created_in: timestamp('created_on'),
  created_by_id: text('created_by_id'),
  description: text('description'), // Add the description field
})
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برنامه دارای موارد زیر است drizzle.config.ts که Drizzle Kit برای مکان یابی فایل های طرحواره در پروژه، تولید و ذخیره مهاجرت ها و اتصال به پایگاه داده استفاده می کند:

// drizzle.config.ts
import type { Config } from 'drizzle-kit'

export default {
  schema: './src/db/schema.ts',
  out: './drizzle',
  dialect: 'postgresql',
  dbCredentials: {
    url: process.env.DATABASE_URL as string,
  },
  verbose: true,
  strict: true,
} satisfies Config
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بعد، دستور زیر را اجرا می کنم که یک فایل مهاجرت طرحواره جدید ایجاد می کند. من هم تنظیم می کنم DATABASE_URL متغیر محیطی استفاده شده توسط drizzle.config.ts:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-weathered-wildflower-a5okjpjr.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit generate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فایل جدید به طور خودکار تولید و در آن قرار می گیرد drizzle پوشه با SQL لازم برای اعمال:

-- drizzle/0001_loose_mojo.sql
ALTER TABLE "tasks" ADD COLUMN "description" text;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مرحله بعد، دستور زیر را برای به روز رسانی طرح پایگاه داده در نئون اجرا می کنم و دستور زیر را اضافه می کنم description ستون:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-weathered-wildflower-a5okjpjr.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit migrate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اعمال مهاجرت، ستون جدید به پایگاه داده اضافه شده و آماده آزمایش است. اکنون این طرح به شکل زیر خواهد بود:

یک جدول پایگاه داده که ستون های نامگذاری شده را نشان می دهد

به روز رسانی محیط تولید

وقتی آماده انتقال کد به تولید شدم، می‌توانم مهاجرت‌ها را به کد اعمال کنم main با عبور از رشته اتصال آن شاخه، پایگاه داده را منشعب کنید:

export DATABASE_URL=postgresql://teamtodo_owner:mydbpass@ep-frosty-tree-a54nb30r.us-east-2.aws.neon.tech/teamtodo?sslmode=require
drizzle-kit migrate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اعمال مهاجرت به main شعبه پایگاه داده، من می توانم نسخه تولیدی برنامه خود را مستقر کنم. پلتفرم هایی مانند Vercel (که من از آن برای میزبانی این برنامه استفاده می کنم) معمولاً بر روی آن نظارت می کنند main شاخه ای از یک مخزن برای تغییرات و شروع فرآیند استقرار زمانی که تغییری شناسایی شد. ادغام کد من تغییر می کند main ابزارهای CI Vercel را برای استقرار جدیدترین نسخه کد فعال می کند.

من می‌توانم برنامه‌ام را با ادغام تغییرات در Vercel اجرا کنم main شاخه کد و به ابزارهای CI Vercel اجازه می دهد تا جدیدترین نسخه کد را اجرا کنند.

در حالی که این مثال یک تغییر واحد ایجاد می‌کند، مهاجرت‌های چندگانه طرحواره را می‌توان ایجاد کرد و بین استقرارها برای تغییرات طرح‌واره پیچیده‌تر اعمال کرد. فایل‌ها به ترتیبی که ایجاد شده‌اند اعمال می‌شوند، تا اطمینان حاصل شود که وضعیت پایگاه داده تولید با محیط توسعه مطابقت دارد.

انتقال خودکار با GitHub Actions

استفاده از Drizzle Kit برای اعمال مهاجرت های طرحواره کمک می کند تا اطمینان حاصل شود که طرح شما به طور ایمن در بین استقرارها به روز می شود، اما انجام دستی این عملیات نقطه شکست را در فرآیند معرفی می کند. اگر فراموش کردید که مهاجرت ها را اعمال کنید، و طرح شما با آنچه برنامه انتظار دارد مطابقت ندارد، می توانید ناخواسته سرویس خود را حذف کنید.

GitHub Actions، پلتفرمی که در GitHub ساخته شده است، راهی را برای توسعه‌دهندگان فراهم می‌کند تا گردش‌های کاری را تعریف کنند که زمانی که رویدادهای خاص (مانند ایجاد تغییرات در یک شعبه مخزن) در GitHub اتفاق می‌افتند، به‌طور خودکار اجرا می‌شوند. بیایید ببینیم که چگونه GitHub Actions می‌تواند به‌طور خودکار مهاجرت‌ها را زمانی که کد روی آن اعمال می‌شود، اعمال کند main تغییر شاخه

ابتدا باید رشته اتصال را برای پایگاه داده خود در GitHub به گونه ای ذخیره کنم که سرویس GitHub Actions بتواند به آن دسترسی داشته باشد. این کار با افزودن یک مخزن مخزن انجام می شود “تنظیمات” زیر “رازها و متغیرها”، سپس “اقدامات”.

تنظیمات مخزن GitHub، اضافه کردن

گردش کار GitHub Actions زیر می تواند برای اجرا استفاده شود drizzle-kit migrate هر بار که تغییری در main شعبه در GitHub:

name: Apply schema migrations

# 👉 Only run this workflow when a change is made to the main branch
on:
  push:
    branches:
      - main

jobs:
  apply_migrations:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install dependencies & tooling
        run: |
          npm install
          npm install -g drizzle-orm drizzle-kit pg
      - name: Apply migrations
        run: drizzle-kit migrate
        env:
          DATABASE_URL: ${{ secrets.DATABASE_URL }}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از آنجایی که Vercel زمانی که تغییراتی در آن ایجاد می شود، استقرار را راه اندازی می کند main در شعبه مخزن، گردش کار Actions همزمان با استقرار راه اندازی می شود و تضمین می کند که نسخه های کد و طرحواره شما همیشه هماهنگ هستند.

نتیجه گیری

اعمال صحیح تغییرات در پایگاه داده زمانی که ویژگی‌های جدید به برنامه اضافه می‌شوند، برای حفظ داده‌ها در پایگاه داده و همچنین حفظ زمان آپدیت برنامه شما مهم است.

پس از خواندن این مقاله، اکنون متوجه می شوید که مهاجرت های طرحواره چیست و چگونه در چرخه عمر توسعه یک پایگاه داده استفاده می شود. همچنین باید بدانید که چگونه از Drizzle برای ایجاد و اعمال مهاجرت ها استفاده کنید و چگونه این فرآیند را با استفاده از GitHub Actions خودکار کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا