Closed3

sqfliteでdrop column

m.kosukem.kosuke

特定のカラムを削除したくて以下のMigrationを書くと、Dropでsyntax errorが発生。

ALTER TABLE テーブル名 DROP COLUMN カラム名

DB Browser for SQLiteで実行しても同じ。

m.kosukem.kosuke

調べると、サポートしていないことがわかった。
https://stackoverflow.com/questions/21019248/drop-syntax-error-in-sqlitemanager

そのため、

  • 元テーブルから必要なカラムだけコピー
  • 元テーブルを削除
  • コピーしたテーブル名をリネーム

で対応

CREATE TABLE MatchEntityTMP AS SELECT  id, time, homeTeam, awayTeam, homeScore, awayScore, isHome, result  FROM MatchEntity;
DROP TABLE MatchEntity;
ALTER TABLE MatchEntityTMP RENAME TO MatchEntity;
m.kosukem.kosuke

SQLは全くやってこなかったので色々苦労する

このスクラップは2023/01/16にクローズされました