درس ۴ — تمدید یک جانشین میسازد؛ هرگز تاریخ انقضا را درجا ویرایش نمیکند
پرسشی که این ماژول برای پاسخ به آن وجود دارد این است: این مجوز دقیقاً چه زمانی منقضی شد؟ حسابرس آن را میپرسد. بانک پیش از وام دادن میپرسد. بیمهگر پس از یک خسارت میپرسد. وکیل خودتان وقتی قراردادی که در تاریخ معینی امضا شده مورد اختلاف باشد میپرسد. هر یک از این پرسشها دربارهٔ تاریخی در گذشته است، و هر یک بیپاسخ میماند اگر سوابق شما همیشه فقط اکنون را نشان دهند.
مدل ذهنی: تمدید یک رکورد تازه است، نه یک تاریخ تازه. تمدید (Renew) را بزنید تا ماژول رکورد مجوز تازهای بسازد، آن را به رکوردی که جایگزینش میشود پیوند بزند، و روی رکورد قدیمی نشان تمدیدشده (Renewed) بگذارد. حالا دو رکورد هست جایی که پیشتر یکی بود. این شلوغی نیست — این تاریخچه است، و تمام هدف این قابلیت همین است.
مسیر کلیک. مجوزی را که جایگزین میشود باز کنید و تمدید را بزنید. تاریخهای صدور و انقضای تازه را از سند تازه وارد کنید، اسکن تازه را پیوست کنید، و جانشین را فعال کنید. سلف به حال خود رها میشود: ویرایشش نمیکنید، حذفش نمیکنید، و از سر راه برش نمیدارید.
همان شمارهٔ مجوز طبیعی است؛ اما دو مجوز فعال با آن شماره نه. تمدید مجوز تجاری معمولاً شماره را حفظ میکند، پس جانشین میتواند همان شمارهٔ سلف را داشته باشد و ماژول دقیقاً همین را مجاز میداند. آنچه مجاز نمیداند این است که دو مجوز فعال برای یک شرکت و یک نوع، یک شماره را با هم داشته باشند — و این محدودیت درستی است، چون اگر دو رکورد جاری ادعای یک مجوز را داشته باشند یکی از آنها غلط است و ماژول نمیتواند بگوید کدام.
ویرایش درجای تاریخ انقضا چه چیزی را نابود میکند. همهچیز را. تاریخ را روی رکورد قدیمی عوض کنید و پایگاه داده حالا میگوید مجوز از نخستین صدورش تا آخرین انقضایش پیوسته برقرار بوده، جملهای که هیچکس در شرکت هرگز ننوشته و ممکن است درست نباشد. شکاف میان دو مجوز ناپدید میشود. تغییر شمارهٔ مجوز ناپدید میشود. و پاسخ این کِی منقضی شد با اطمینان میشود «هرگز نشد». ویرایش تاریخ سریعتر است، به همان معنایی که نگه نداشتن رسیدها سریعتر است.
مثال عملی. Falcon Ridge Interiors LLC مجوز تجاریاش را دو بار تمدید میکند، و زنجیرهٔ پرونده پس از آن چنین خوانده میشود:
| رکورد | تاریخ صدور | تاریخ انقضا | شمارهٔ مجوز | وضعیت |
|---|---|---|---|---|
| مجوز تجاری، نخست | 14 آوریل 2024 | 13 آوریل 2025 | 782914 | تمدیدشده |
| مجوز تجاری، دوم | 22 آوریل 2025 | 21 آوریل 2026 | 782914 | تمدیدشده |
| مجوز تجاری، جاری | 19 آوریل 2026 | 18 آوریل 2027 | 782914 | فعال |
حالا به درز میان دو سطر نخست نگاه کنید. مجوز نخست در 13 آوریل 2025 منقضی شد و دومی در 22 آوریل 2025 صادر شد. نُه روز در آن میان هست که شرکت هیچ مجوز تجاری جاریای در پرونده نداشته، و تنها به این دلیل دیده میشود که کسی چیزی را ویرایش نکرده است. آن دو تاریخ همان چیزی است که آن دو سند میگویند — نه یک مدتاند، نه یک قاعده، و نه چیزی که به مجوز خودتان منتقل شود، که هرچه بگوید همان است. آنچه ماژول تضمین میکند این است که هرچه مالِ شما میگوید، از تمدید بعدی جان سالم به در ببرد.
حالت خطا. کسی برای «صرفهجویی در وقت» رکورد جاری را باز میکند و تاریخ انقضای تازه را روی قدیمی مینویسد. هیچ هشداری نمیآید، صفحه درست به نظر میرسد، مجوز جاری مینماید — و شکاف نُهروزهٔ بالا، همراه با هر شکاف پیش از آن، از تنها جایی که تا به حال نوشته شده بود پاک میشود. اگر پیشتر رخ داده، با ویرایش بیشتر در پی بازسازی گذشته نروید: مجوز جاری را از امروز درست ثبت کنید و آنچه را دربارهٔ قبلیها میدانید در گفتوگوی همان رکورد بنویسید، جایی که دستکم تاریخدار و منتسب است.