0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

外部からデータベースを読み込むときのunique制約

Posted at

概要

困っていたこと

Flutterで単語帳アプリを作っています。
データベースは、Driftというパッケージを使用していました。
https://pub.dev/packages/drift)
あるカラムをユニークキーにしたくて、あとで追加で設定を加えたのですが、反映されませんでした。
データベースは、assetsフォルダにデータベースを入れて、それを読み込ませる方式をとっていました。

結論

CSVからDB Browser for SQLiteでデータベースにする際にも、unique設定をしないといけませんでした。
Qiitaで質問させていただいて、解決できました。

詳細

dartファイル

TextColumn get name => text().unique()();

カラムの定義にunique()()を付けます。

flutter pub run build_runner build --delete-conflicting-outputs

上記をターミナルで実行して、自動生成ファイルを更新します。

データベースファイル

image.png
DB Browser for SQLiteで該当のデータベースファイルを開いて、テーブルの名前の上で右クリック→「テーブルを変更」を選択。

image.png

該当カラム(ここでは「name」)の「U」にチェックを入れます。
(スクショではPK(プライマリーキー)にもチェックが入っています。)

これで解決しました!!

あとがき

私は初心者すぎて、こんなふうにしないといけないとは、思いつきませんでした…
教えていただいて、ありがとうございました!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?