PDA

View Full Version : تهیه آپدیت نرم افزارها همراه با تغییرات Sql



zakieh
چهارشنبه 12 تیر 1392, 10:37 صبح
سلام. خسته نباشید.

من برنامه ای با C#‎ و Sql نوشته ام . برای برنامه از Sql Express استفاده نکردم.
دیتابیس برنامه مجزا ری سرور محل نصب Attach شده.

حالا نمی دونم وقتی که می خوام نسخه جدید برنامه رو نصب کنم چه کاری باید انجام بدم. تغییرات سمت C#‎ با نصب برنامه جدید اضافه میشه(از Click One استفاده کردم). تغییرات جداول و SP ها و ... روی SQL رو مجبورم دونه دونه اسکریپت بگیرم و روی سرو مقصد برگردونم.

این کارم صحیحه؟؟؟
روش بهتری نیست که همزمان با نصب نسخه جدید برنامه اسکریپت ها هم خودکار دیتابیس رو به روزرسانی کنند؟؟؟

ممنون میشم راهنمایی کنید.

sanaz.dadkhah
چهارشنبه 12 تیر 1392, 11:13 صبح
ببینید آپدیت شما در اصل از دو بخش تشکیل میشه
میتونید همش را داخل یک اسکریپت اجرا کنید.
-دیتا بیس که میتونید با اجرای یک اسکریپت آن را انجام دهید مثال اگر تیبلی اضافه کردید با اجرای اسکریپت همون قسمت که تیبل را ساختید در option sql گزینه ای داره برای دادن اسکریپت تغییرات.
اما راه حل دیگه یه دیتابیس جدید میسازید و بعد داده های این را به ان منتقل میکنید و فایل کانفیگ برنامتون را تغییر میدید.

hamid_hr
چهارشنبه 12 تیر 1392, 11:14 صبح
من هم برا تغييرات همين كار رو ميكنم
نغييرات سمت sql رو به صورت اسكرپت در ميارم و اونجا اجراشون ميكنم

zakieh
چهارشنبه 12 تیر 1392, 13:50 عصر
ممنون از پاسختون. ولی اینطوری من باید یک عالمه فایل اسکریپت داشته باشم. به ازای هر تغییری در دیتابیس مجبورم اسکریپت بگیرم و روی سرو دوباره اجراش کنم.

دنبال روشی هستم که کاربرم بتونه کاملا آپدیت برنامه رو خودش نصب کنه. هم کدها هم تغییرات SQL. ولی با این روش خودم باید عملیات رو انجام بدم.



ببینید آپدیت شما در اصل از دو بخش تشکیل میشه
میتونید همش را داخل یک اسکریپت اجرا کنید.
-دیتا بیس که میتونید با اجرای یک اسکریپت آن را انجام دهید مثال اگر تیبلی اضافه کردید با اجرای اسکریپت همون قسمت که تیبل را ساختید در option sql گزینه ای داره برای دادن اسکریپت تغییرات.
اما راه حل دیگه یه دیتابیس جدید میسازید و بعد داده های این را به ان منتقل میکنید و فایل کانفیگ برنامتون را تغییر میدید.

sanaz.dadkhah
چهارشنبه 12 تیر 1392, 14:08 عصر
ببینید چون دیتا در دیتابیس دارید تا انجایی که من میدونم راه حل دیگه نیست
ببنید نیاز نیست که یک عالمه اسکریت داشته باشید تنها با یک اسکریپت هم می توانید این کار را انجام دهید.که این اسکریپت را خود sql بهتون می دهد.
Tools=>Options=>Designers=>Auto generate change scripts حالا اسکریپت تغییرات را ه شما می دهد که می توانید با رعایت اصولش پشت سر هم کپی کنسد و در نهایت یک اسکریپت داشته یاشد.
راه حل دوم یک دیتابیس جدید با یک اسکریپت (با generate script)بسازید و سپس داده ای دیتابیس جاری را در جدیده اضافه کنید.(در خود sql) تو استور انجام بدی راحتری.بعد کانکشنت را برای دیتا بیس جدید تنظیم کن.

zakieh
چهارشنبه 12 تیر 1392, 14:26 عصر
ممنون از پاسخگویی سریعتون.
خیلی خوبه که میشه با اجرای یک اسکریپت همه موارد رو با هم اعمال کرد. ولی واقعا برای من سواله که پس اینهمه نرم افزاری که نوشته میشه و معمولا آپدیت هاشون روی سایتهاشون قرار داده میشه و کاربرها آپدیت رو دانلود و نصب می کنند چطوری عمل می کنن؟؟؟ اونها چطور تغییرات دیتابیس رو مدیریت می کنند؟؟؟؟


ببینید چون دیتا در دیتابیس دارید تا انجایی که من میدونم راه حل دیگه نیست
ببنید نیاز نیست که یک عالمه اسکریت داشته باشید تنها با یک اسکریپت هم می توانید این کار را انجام دهید.که این اسکریپت را خود sql بهتون می دهد.
Tools=>Options=>Designers=>Auto generate change scripts حالا اسکریپت تغییرات را ه شما می دهد که می توانید با رعایت اصولش پشت سر هم کپی کنسد و در نهایت یک اسکریپت داشته یاشد.
راه حل دوم یک دیتابیس جدید با یک اسکریپت (با generate script)بسازید و سپس داده ای دیتابیس جاری را در جدیده اضافه کنید.(در خود sql) تو استور انجام بدی راحتری.بعد کانکشنت را برای دیتا بیس جدید تنظیم کن.

DataMaster
چهارشنبه 12 تیر 1392, 14:27 عصر
البته اگر بین دیتابیسی که در حال توسعه هست و سرورتون ارتباط دارید میتونید از نرم افزارهایی که یکسان سازی میکنند استفاده کنید
یکی از بهترین ابزار ها هم Red Get هست که یه سرچ کوچولو بزنید با کرک میتونید پیدا کنید

zakieh
شنبه 15 تیر 1392, 11:44 صبح
اسم این نرم افزاری رو که گفتین سرچ کردم چیزی اصلا پیدا نکردم. نام کاملش رو لطف می کنید؟؟؟؟


البته اگر بین دیتابیسی که در حال توسعه هست و سرورتون ارتباط دارید میتونید از نرم افزارهایی که یکسان سازی میکنند استفاده کنید
یکی از بهترین ابزار ها هم Red Get هست که یه سرچ کوچولو بزنید با کرک میتونید پیدا کنید

zakieh
دوشنبه 17 تیر 1392, 07:47 صبح
دوستان یک سوال دیگه دارم.

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

moeinmohebbi
دوشنبه 07 بهمن 1392, 15:16 عصر
منظور ایشون Red Gate است که از لینک (http://soft98.ir/software/programming/3978-redgate-sql-toolbelt-bundle.html) می تونید دانلودش کنید.

moeinmohebbi
دوشنبه 07 بهمن 1392, 15:18 عصر
من هم چنین نیازی دارم که البته InstallShield این کار رو انجام میده ولی با اسکریپت های Unicode مشکل داره و حین build فرمت رو ANSI میکنه.

moeinmohebbi
دوشنبه 07 بهمن 1392, 15:22 عصر
اگه کسی راه حلی برای مشکل اسکریپت فارسی در InstallShield داره ممنون میشم عنوان کنه.