CREATE TABLE の列の差分

旧と新の CREATE TABLE から、列の差分と ALTER TABLE の例を出す。

変更前と変更後の CREATE TABLE を貼り付けると、追加・削除・型の変更・NOT NULL の変更を一覧にし、PostgreSQL の ALTER TABLE の例を生成します。データを失う操作や失敗しやすい操作には警告を付けます。入力はブラウザの外へ送信しません。

ツールを使う 入力例と結果

旧と新の CREATE TABLE を貼り付けて列の差分を見る

入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。

結果

エラー 0 件・警告 0 件・情報 0 件

指摘(エラー・警告・情報)

指摘はありません。

追加した列1 個
削除した列0 個
型の変更0 個
NOT NULL の変更0 個

列の差分

列の差分
差分列変更前変更後ALTER TABLE の例
追加email(なし)textALTER TABLE users ADD COLUMN email text;

初期表示は入力例「列を 1 つ足すだけの変更」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。

ご利用にあたって

  • 生成する ALTER TABLE は参考の例です。本番で実行する前に、バックアップと検証環境での確認を必ず行ってください。
  • ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。

使い方

  1. 現在のスキーマの CREATE TABLE を「変更前」、変更したい形の CREATE TABLE を「変更後」に貼り付けます。
  2. まず「差分の表」で追加・削除・型・NOT NULL の変化を確かめます。
  3. 指摘のうち警告(データ喪失・失敗しやすい操作)を読み、必要なら手順を分けます。
  4. 「ALTER TABLE の例」に切り替えて文を確認し、検証環境で試してから使います。

入力例と結果

代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。

入力例と結果の一覧
入力例結果
列を 1 つ足すだけの変更エラー 0 件・警告 0 件・情報 0 件
DEFAULT なしで NOT NULL の列を足すエラー 0 件・警告 1 件・情報 0 件
列を削除する変更エラー 0 件・警告 1 件・情報 0 件
型を広げて同時に NOT NULL を付けるエラー 0 件・警告 2 件・情報 0 件
ALTER TABLE の例をテキストで見るエラー 0 件・警告 0 件・情報 0 件
CREATE TABLE ではない文を貼ったときエラー 1 件・警告 0 件・情報 0 件

このツールでできないこと(制約)

よくある質問

列を削除するとデータは消えますか?

DROP COLUMN をすると、その列の値は SQL から読めなくなります。その列を含む索引や表の制約も一緒に消えるため、実行前にバックアップを取り、必要なら先に別の場所へ移してください。

型を変えるとき USING は必要ですか?

古い型から新しい型への暗黙の変換や代入の変換がない場合は USING 式が必要です。また USING は DEFAULT には適用されないため、DEFAULT を外して付け直す必要がある場合もあります。

貼り付けた CREATE TABLE はどこかに送られますか?

送られません。比較する処理はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。