SQLスクリプトを比較するために、カスタム移行スクリプトを追加する簡単な方法はありますか?

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

  •  21-08-2019
  •  | 
  •  

質問

私の仕事で私たちは現在、環境全体当社のデータベースの変更をプッシュするいくつかの深刻な痛みを持っています。問題は、我々は既存のテーブルの上に新たな非NULL可能列を作成するときに表示を開始します。生成比較SQLスクリプトは、非nullとして列を作成し、それは常に失敗します。私は、スクリプトを手動で編集することにはいくつかの選択肢があったことを願っていました。この問題を回避する方法はありますか?そうでない場合、どのようにあなたたちはそれを扱うのですか?

役に立ちましたか?

解決

テーブルを作成します:

create table #bingo ( id int )

の値を追加します:

insert into #bingo values (1)

新しい列を追加します:

alter table #bingo add userid int

新しい列を移入します:

update #bingo set userid = 1 where id = 1

NULL可能ではないに新しい列を変更します:

alter table #bingo alter column userid int not null

は、手動で、それは次のように動作させるための比較レッドゲートSQLを編集する必要があります。

他のヒント

どのようにしてNOT NULL列を埋めることを計画していますか?私はそれはあなたがそれを埋めるだろうかを知る方法がないので、本当に解決策を考え出すことができるかSQLの比較が表示されません。

あなたは、単にあなたが値のためのいくつかのソースを持っている場合は、適切に列を更新するために生成したスクリプトの最後に更新ステートメントを追加し、DEFAULTの列を作成することができます。

新しいNOT NULLカラムにデフォルトを追加

新しいNOT NULL列を作成するときに

、既存のすべての行がどのような値を得るのですか?あなたがわからない場合は、列のNULL可能を作ります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top