এসএসডিটি মোতায়েন থেকে একটি নির্দিষ্ট টেবিল বাদ দেওয়া


11

স্কিমাতে সমস্ত কিছু সহ আমার কাছে একটি বিদ্যমান ডাটাবেস রয়েছে dbo। আমার কাছে এসএসডিটি প্রকল্প রয়েছে যার সাথে আমি স্কিমার সাহায্যে এটি যুক্ত করছিfoo

আমার কাছে একটি টেবিল রয়েছে যা প্রকল্পের মতো দেখায়:

CREATE table foo.a (
    id INT NOT NULL
        CONSTRAINT [PK_foo_a] PRIMARY KEY CLUSTERED
        CONSTRAINT [FK_foo_a] FOREIGN KEY REFERENCES [dbo].[a],
    desc NVARCHAR(50) NOT NULL
)

এটি dbo.a. উপর নির্ভর করে dbo.a এর অনেকগুলি কলাম রয়েছে যা অন্যান্য কলামগুলির বিদেশী কী। অন্য কেউ (যিনি ডিফল্ট স্কিমা বজায় রেখেছেন) dbo.a পরিবর্তন করতে পারে।

আমি dbo.a সাধারণ সঞ্চয় করতে চাই:

CREATE table dbo.a (
    id INT NOT NULL
        CONSTRAINT [PK_a] PRIMARY KEY CLUSTERED
)

সুতরাং এটি অভ্যন্তরীণভাবে নির্মিত হয়, তবে স্থাপন করা হয় না। এটা কি সম্ভব?


আপনি কি আপনার মোতায়েনের জন্য স্কিমা তুলনা ব্যবহার করবেন না? পরিবর্তনগুলি সনাক্ত করা গেলে আপনি তালিকা থেকে কেবল সেই টেবিলটি আনচেক করতে পারেন।
ডেভ

আমি স্নাতকের কাছে স্কিমা তুলনা করছি, তবে আমার ল্যাপটপ থেকে দেব সার্ভারে কোনও প্রকৃত প্রকাশনা মোতায়েন করতে চাই না।
জাস্টিন ডিয়ারিং

উত্তর:


11

আপনি AgileSqlClub স্ক্যালপ্যাকেজ ডিপোমেন্ট ফিল্টার ব্যবহার করতে পারেন ।

সংক্ষিপ্ত নির্দেশাবলী থেকে পুনরুত্পাদন মূল নিবন্ধ দ্বারা এড ইলিয়ট :

  1. Agilesqlclub.codeplex.com থেকে ফিল্টারটি ডাউনলোড করুন
  2. DLLএটিকে একই ফোল্ডারে রাখুনsqlpackage.exe
  3. আপনার মোতায়েনের জন্য এই কমান্ড লাইন প্যারামিটারগুলি যুক্ত করুন:

    /p:AdditionalDeploymentContributors=AgileSqlClub.DeploymentFilterContributor /p:AdditionalDeploymentContributorArguments="SqlPackageFilter=IgnoreSchema(BLAH)"

    এটি BLAHস্কিমাতে কোনও কিছু মোতায়েন করবে না, ছাড়বে না বা পরিবর্তন করবে না ।

সম্পূর্ণ বিবরণের জন্য মূল নিবন্ধটি দেখুন ।


আমি যখন fven.publish.xML ফাইলের মাধ্যমে devenv.exe থেকে স্থাপন করি তখন এটি sqlpackage.exe উত্সাহ দেয় না। এটি করার জন্য কি কোনও উপায় আছে?
জাস্টিন ডিয়ারিং

আমি যা করি তা কখনই পরিবর্তনগুলি মোতায়েনের জন্য ডেভেনভ ব্যবহার করা হয় না, পরিবর্তে প্রকল্পটি তৈরি করে sqlpackage.exe ড্রাইভ করার জন্য একটি স্ক্রিপ্ট ব্যবহার করে - আপনি যেমন ব্যবহারের ব্যবহারকারীর সহজেই স্টাফ করতে পারেন এবং একইরকম স্ক্রিপ্টও পরীক্ষা করতে পারেন যা আপনি আপনার অন্যান্য পরিবেশে ব্যবহার করতে পারেন আপনার সিআই প্রক্রিয়া!
এডি এলিয়ট

এটি আমার জন্য একটি বিশাল সহায়তা ছিল, আমাকে কেবল একটি নির্দিষ্ট স্কিমা মোতায়েন করা দরকার ,. ভবিষ্যতে অন্যদের জন্য দ্রষ্টব্য, উপেক্ষা করার পদ্ধতিটি রিজেক্স নিতে পারে IgnoreSchema (^ (?! \ B (?) BLAH \ b)। *)
BLAH

3

শুধুমাত্র একটি ডাটাবেসের অংশ পরিচালনা SSDTকরা কঠিন। যদি কোনও নির্ভরতা না থাকে তবে আপনি কেবল এটিকে অবজেক্টগুলি ফেলে দেওয়ার জন্য এবং প্রকল্পে এটি অন্তর্ভুক্ত না করার অনুমতি দিতে পারেন। যেহেতু নির্ভরতা রয়েছে, তবে আপনি সেগুলি পরিচালনা করতে চান না, আমি মনে করি আপনাকে সিস্টেমটি চালিত করতে হবে।

একটি পদ্ধতি মাথায় আসে, আমার এখনই সেগুলি পরীক্ষা করার ক্ষমতা নেই এবং আমি কেবল এটির জন্য একটি "অনুরূপ" পদ্ধতি ব্যবহার করেছি, এটি সঠিকভাবে নয়।

বিকল্প 1:

  1. dbo.aএটি দিয়ে একটি নতুন ডাটাবেস প্রকল্প তৈরি করুন ।

  2. 3-অংশ নামকরণ সহ সারণিটি উল্লেখ করুন। নামের প্রথম অংশের জন্য, এসকিউএলসিএমডি ভেরিয়েবল ব্যবহার করুন। যেমন[$(DatabaseName)].dbo.a.

  3. কখনও আপনার fooডাটাবেস স্থাপন করবেন না ।

  4. প্রকাশিত ফাইল বা ক্লাইফ ইন্টারফেসের মাধ্যমে $(DatabaseName)আপনার আসল ডাটাবেসের সমান নাম তৈরি করুন।


এটি চেষ্টা করতে যাচ্ছেন
জাস্টিন ডিয়ারিং

@ জাস্টিনডিয়ারিং ডিপ্লোয়মেন্ট ফিল্টার পদ্ধতিটি ব্যবহার করুন, এটি আপনার ব্যবহারের ক্ষেত্রে একেবারেই ফিট হয়ে যায় (অর্থাত্ সমস্ত টেবিলগুলি উত্স নিয়ন্ত্রণে রাখুন এবং কিছু স্থাপনার ক্ষেত্রে কিছু উপেক্ষা করুন)
এড এলিয়ট

0

এটি করার একটি "পরিষ্কার" অন্তর্নির্মিত উপায় (২০১ of হিসাবে) একটি সংরক্ষিত স্কিমা তুলনা ফাইলটি ব্যবহার করছে। আপনি পারেন:

  1. আপনার স্কিমা তুলনা সম্পাদন করুন (আপনার ডেটাবেস প্রকল্প থেকে -> একটি লক্ষ্য সার্ভার) এবং আপডেট করার জন্য আপনি বাদ দিতে চাইলে যে কোনও অবজেক্টটি আনচেক করুন।
  2. আপনার স্কিমা সংরক্ষণ করুন * .scmp ফাইলের সাথে তুলনা করুন
  3. প্রয়োজনে বিভিন্ন পরিবেশের জন্য সংস্করণ তৈরি করতে আপনি .scmp ফাইলটি অনুলিপি করে আটক করতে পারেন এবং সোর্স পরিবর্তন করতে এক্সএমএল সম্পাদকটিতে সম্পাদনা করতে পারেন (আউটপুট ড্যাকপ্যাক ফাইল তৈরির লক্ষ্যে), সংযোগ ইত্যাদি, এমনকি অংশে আইটেম যুক্ত / সংশোধন করতে পারেন ।
  4. প্রকাশের জন্য উপযুক্ত .scmp ফাইলটি ব্যবহার করতে আপনার dacpac স্থাপনা / প্রকাশ কমান্ড প্যারামিটারগুলি কনফিগার করুন। উদাহরণস্বরূপ SQLlPackage.exe / ক্রিয়াকলাপ: প্রকাশ / উত্সফল ফাইল :c:\ প্রকল্প: স্কেমমা_compare.scmp

এখানে আরও তথ্য: https://devblogs.microsoft.com/ssdt/schema-compare-in-sqlpackage-and-the-data-tier-application-framework-dacfx/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.