هل هناك طريقة سهلة لإضافة برنامج نصي مخصص للترحيل إلى البرامج النصية لمقارنة SQL؟

StackOverflow https://stackoverflow.com/questions/864107

  •  21-08-2019
  •  | 
  •  

سؤال

في عملي، نواجه حاليًا بعض الصعوبات الخطيرة في دفع تغييرات قاعدة البيانات الخاصة بنا عبر البيئات.تبدأ المشكلة في الظهور عندما نقوم بإنشاء عمود جديد غير فارغ في جدول موجود.يقوم البرنامج النصي الذي ينشئه SQL Compare بإنشاء العمود كعمود غير قابل للقيمة الفارغة، لذلك سيفشل دائمًا.كنت آمل أن يكون هناك بديل عن الاضطرار إلى تعديل البرنامج النصي يدويًا.هل هناك أي طريقة للالتفاف حول هذا؟إذا لم يكن الأمر كذلك، كيف يا رفاق التعامل معها؟

هل كانت مفيدة؟

المحلول

وإنشاء جدول:

create table #bingo ( id int )

وإضافة قيمة:

insert into #bingo values (1)

وإضافة عمود جديد:

alter table #bingo add userid int

وتعبئة العمود الجديد:

update #bingo set userid = 1 where id = 1

وتغيير عمود جديد لعدم قيم الفارغة:

alter table #bingo alter column userid int not null

وأنت يجب أن يدويا تحرير REDGATE SQL قارن والعمل على انجاحه من هذا القبيل.

نصائح أخرى

وكيف كنت تخطط لملء العمود NOT NULL؟ أنا لا أرى كيف SQL قارن يمكن أن يأتي حقا إلى حل لأنه لا يوجد لديه وسيلة لمعرفة كيف سيكون ملئه.

هل يمكن إنشاء عمود مع DEFAULT، ثم ببساطة إضافة عبارة تحديث في نهاية النصوص ولدت لتحديث بشكل صحيح العمود إذا كان لديك بعض المصادر للقيم.

أضف افتراضيًا إلى العمود الجديد غير الفارغ

عند إنشاء عمود جديد غير فارغ، ما هي القيمة التي تحصل عليها جميع الصفوف الموجودة؟إذا كنت لا تعرف، فاجعل العمود فارغًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top