• 1400/03/01

مشکل در اعمال Migration های جدید روی بانک سرور :

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

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

بالاخره اگر ما عینا Script های بانک Local رو روی بانک سرور اعمال کنیم، اطلاعات قبلی روی سرور پاک می شه. منتهی من می خوام طوری تغییرات رو اعمال کنم که اطلاعات قبلی روی بانک سرور پاک نشه. برای حل این مشکل چی کار باید کرد؟

  • 1400/03/02
  • ساعت 09:28

سلام دوست عزیز

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

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

موفق باشید


  • 1400/03/03
  • ساعت 10:20

خب همین اسکریپت های مربوط به تغییر جداول رو چطور باید به دست بیارم؟ باید دونه به دونه خودم بنویسم؟ این سوال رو پرسیدم چون وقتی که از طریق گزینه Task -> Generate Script می خوام اسکریپت ها رو به دست بیارم، تمام اسکریپت ها رو به من می ده و نه فقط اسکریپت های مربوط به تغییرات جداول رو.


  • 1400/03/03
  • ساعت 13:55

راه های زیادی هست برای انجام این کار که من 3 تاش رو اینجا بهتون معرفی میکنم :

1. روی جدولتون کلیک راست کنید و Design رو انتخاب کنید، اینجا هروقت چیزی رو تغییر میدید روی همون فیلد میتونید کلیک راست کنید و گزینه Generate Change Script رو بزنید تا Script تغییرات رو بهتون بده

2. توی Sql Server Management Studio از منوی Tools وارد Option بشید، از منوی درختی سمت چپ روی Designer کلیک کنید تا تنظیماتش رو ببینید، تیک گزینه Auto Generate Change Scripts رو بزنید و Ok کنید، از این به بعد هرزمان تغییری ایجاد کنید اتوماتیک Script هاش generate میشه و بهتون نشون داده میشه.

3. میتونید رو خود جدولتون کلیک راست کنید و از منوی Script Table As گزینه مورد نظرتون رو انتخاب کنید، اینجا همه عملیات ها ازجمله Drop , Alter , Update و ... رو میتونید ببینید که براسا نیازتون ازشون میتونید استفاده کنید و Script های مورد نیازتون رو تولید کنید

موفق باشید


logo-samandehi