ارسال دادههای اولیه همراه راهحل
هدف
کاری کنید رکوردهایی که راهحل به آنها نیاز دارد — دادههای مرجع، ردیفهای پیکربندی، یک مجموعهٔ نمونه — درون بستهٔ راهحل سفر کنند، تا درونریزی راهحل در یک محیط خالی، آن را آمادهٔ استفاده تحویل دهد نه آمادهٔ پر شدن.
پیشنیازها
- با نقش سازنده (یا مدیر سکو) وارد شدهاید.
- جدولی که رکوردهایش باید سفر کنند جزو اجزای راهحل است، و رکوردها در محیطی که از آن خروجی میگیرید وجود دارند.
گامها
- جدول را در جدولها باز کنید و به زبانهٔ نماها بروید.
- جدید را انتخاب کنید تا طراح نما باز شود.
- یک نام نمایشی وارد کنید — مثلاً
آستانههایی که ارسال میشوند— و یک نام منطقی پس از پیشوند ناشر، مثلاًapproval_threshold_seed. - نوع نما را روی دادههای اولیه بگذارید.
در نوع رکوردها برگزینید رکوردها چیستند:
- پیکربندی: رکوردهایی که راهحل برای کار کردن لازم دارد، مانند آستانههای تأیید. هر درونریزی آنها را میآورد، حتی در Production.
- نمایشی: رکوردهایی که راهحل را معرفی میکنند، مانند مشتریان ساختگی. درونریزی فقط وقتی خواسته شود آنها را میآورد، و هرگز به Production.
- هر فیلدی را که باید سفر کند روی سرستون جدول بکشید. آنچه متعلق به این محیط است و نه به رکورد را کنار بگذارید — مبلغ تعهدشده، تاریخ آخرین اجرا، یک شمارنده.
- اگر فقط برخی رکوردها باید سفر کنند یک فیلتر اضافه کنید — مثلاً وضعیت برابر است با فعال. بدون فیلتر، همهٔ رکوردها سفر میکنند.
- ذخیره را انتخاب کنید.
- از صفحهٔ راهحلها از راهحل خروجی بگیرید. بسته اکنون یک سند دادههای اولیه برای جدول دارد که رکوردهای برگرداندهشده توسط نما را در خود نگه میدارد.
- بسته را در محیط دیگری درونریزی کنید. رکوردهای پیکربندی همراه آن میآیند. اگر رکورد نمایشی دارد، درونریزی نخست میپرسد: برای آوردن آنها همراه با دادههای نمایشی را تیک بزنید. وقت ی درونریزی تمام شد، پیامی میگوید چند رکورد ساخته شد، چند رکورد بهروز شد، هر رکوردی را که رد شده نام میبرد، و میگوید چند رکورد نمایشی جا ماند.
پیکربندی همیشه میآید؛ نمایشی فقط وقتی خواسته شود
انتخاب نوع رکوردها در نمای دادههای اولیه تعیین میکند درونریزی با رکوردها چه کند.
| پیکربندی | نمایشی | |
|---|---|---|
| چیست | آنچه راهحل برای کار کردن لازم دارد: آستانهها، مناطق، تنظیماتی که یک اسکریپت میخواند | آنچه راهحل را معرفی میکند: مشتریان ساختگی، یک سال سابقهٔ نمونه |
| درونریزی | همیشه آن را میآورد | فقط وقتی همراه با دادههای نمایشی تیک خورده باشد |
| Production | بله | هرگز: کادر غیرفعال است و پلتفرم آن را رد میکند |
دادههای نمایشی هرگز به Production نمیرسند، چون آنجا در میان رکوردهای مشتریان خودتان مینشینند و چیزی آنها را از هم جدا نمیکند، و حذف نصب راهحل پاکشان نمیکند. پیکربندی همیشه میرسد، چون محیطی که آن را ندارد کار نمیکند.
پیکربندی را فقط برای رکوردهایی برگزینید که همهجا یکساناند. رکوردی که یک محیط برای خودش ویرایش میکند با درونریزی بعدی بازنویسی میشود.
پشت صحنه چه اتفاقی میافتد
نمای دادههای اولیه هرگز به کسی نشان داده نمیشود: پرسشی است که خروجی گرفتن میپرسد. فیلتر آن به کدام رکوردها پاسخ میدهد و ستونهایش به کدام فیلدها. جدولی که چند نمای اینچنینی دارد از نمای پیشفرض استفاده میکند، وگرنه از اولین نما به ترتیب نام منطقی.
هر رکورد با شناسهاش سفر میکند و درونریزی بر اساس همان شناسه درج یا بهروزرسانی میکند: رکوردی که مقصد ندارد با همان شناسه ساخته میشود؛ رکوردی که از قبل دارد فقط در ستونهای بستهبندیشده بهروز میشود و بقیهٔ مقادیرش را نگه میدارد. هیچچیز هرگز حذف نمیشود. چون شناسه در هر مح یطی یکسان است، یک رکورد اولیه میتواند به رکورد اولیهٔ دیگری اشاره کند — یک ردیف بودجه به برنامهاش — و درونریزی جدولها را به ترتیب درستی مینویسد تا این کار انجام شود. جستجویی که به ردیفی از همان جدول اشاره میکند پس از آنکه همهٔ رکوردها وجود داشتند پر میشود.
هر رکورد از مسیر عادی نوشتن رکورد میگذرد: در برابر جدول اعتبارسنجی میشود، به درونریزی نسبت داده میشود، در برابر جستجوهای مقصد بررسی میشود، و گامهای افزونهٔ جدول روی آن اجرا میشوند — از جمله گامی که همین راهحل آورده است.
کاری که یک رکورد اولیه نمیکند آغاز کردن یک فرایند کسبوکار است. فرایندی که با ایجاد یک رکورد آغاز میشود دربارهٔ این است که کسی رکوردی ایجاد کرده؛ اما رکورد اولیه تصویر راهحل از جدول است همانطور که رها شده — درخواستی که پیشتر تأیید شده، درخواستی که پیشتر رد شده. اگر فرایند برای هر رکورد بستهبندیشده اجرا میشد، به ازای هر رکورد یک اجرا آغاز میشد و نخستین گام خود فرایند وضعیتی را که رکورد با آن ارسال شده بازنویسی میکرد. این یعنی رکوردی که با وضعیت «در انتظار» اولیهسازی شده هیچ وظیفهای پشت خود ندارد: بسته رکورد حمل میکند، نه اجرا. اگر نمایش به یک وظیفهٔ زنده نیاز دارد، در محیط درون ریزیشده یک رکورد ایجاد کنید — آن یکی مسیریابی میشود.
رکوردی که مقصد رد میکند — اغلب جستجویی به رکوردی که مقصد ندارد — رد میشود و نام برده میشود، با جدول، شناسه و دلیل، بهجای آنکه درونریزی را شکست دهد. تا آن لحظه جدولها، فرمها و نماها فرود آمدهاند، و درونریزیای که بهخاطر یک رکورد شکست بخورد محیط را نیمهدرونریزیشده رها میکند.
برخی چیزها عمداً سفر نمیکنند: مالک (کاربران به ازای هر مستأجر هستند)، مهرهای ایجاد و تغییر و نسخهٔ ردیف (متعلق به مقصدند)، و ستونهای فایل و تصویر (بایتهایشان در محیط مبدأ است). ستونهای شمارهٔ خودکار را مقصد تولید میکند.
عیبیابی
- درونریزی میگوید یک رکورد رد شد. دلیل را بخوانید — همان جملهای است که یک فرم نشان میداد. جستجو به رکوردی که وجود ندارد یعنی مقصد ردیفی را که بسته فرض کرده بود ندارد؛ رکوردهای آن جدول را به بسته اضافه کنید، یا رکورد را به مقصد.
- رکوردی که در مقصد ویرایش کرده بودم بازنویسی شد. درونریزی دوباره همین کار را میکند: ستونهای بستهبندیشده متعلق به راهحلاند. مقادیر خاص محیط را از ستونهای نمای دادههای اولیه بیرون نگه دارید.
- خروجی گرفتن با «N رکورد برمیگرداند» رد میشود. یک بسته حداکثر ۱۰٬۰۰۰ رکورد به ازای هر جدول حمل میکند. فیلتر نما را محدود کنید — دادههای اولیه دادههای مرجعاند، نه تاریخچه — یا رکوردها را با درونریزی CSV بارگذاری کنید.
- هیچچیز سفر نکرد. بررسی کنید نوع نما دادههای اولیه باشد و روی جدولی باشد که راهحل شامل آن است. اگر رکوردهایش نمایشی است، بررسی کنید هنگام درونریزی همراه با دادههای نمایشی تیک خورده باشد.
- کادر همراه با دادههای نمایشی خاکستری است. محیط یک محیط Production است و دادههای نمایشی هرگز در آن درونریزی نمیشوند. رکوردهای پیکربندی همچنان میآیند.
- رکوردهایی که راهحل لازم دارد به Production نرسید. نمای دادههای اولیهٔ آنها نمایشی است. آن را به پیکربندی تغییر دهید، دوباره از راهحل خروجی بگیرید و درونریزی کنید.
- حذف نصب راهحل، رکوردها را باقی گذاشت. رکوردهای جدولی که راهحل مالک آن است همراه جدول میروند. رکوردهایی که به جدول متعلق به راهحل دیگری اضافه کرده باقی میمانند، چون جدول باقی میماند.