Hitsuji_monのブログ~ 村上春樹のあれ ~

文学好きな組み込み系エンジニア

Rails 日記アプリの制作 ~rails db:migrate~

Rails日記App制作

  • Model作成:DBも作成
$ rails g model モデル名 フィールド:型:(unique|index) 以降必要なだけ

正しくDBは作成されたのだが、sqlite3上だと何も見つからない

 sqlite> .tables

で何も出ない

なぜ〜〜〜。
rails console上からだと、モデルから格納されたデータを持ってこれてるのに。
とりあえず rails g migration 関係のまとめ

qiita.com

解決
DBの作成

  • dbconsole から作成する
  • ActiveRecordからモデルクラスを使って作成する(簡単!)

ActiveRecordで作成したDBにコンソールからアクセスするときは、dbコンソールを使う

$ rails dbconsole
sqlite>.tables

これで作成したDBを見れた。解決。and....


ActiveRecordから作成したDB一覧を表示させたい場合

$ ActiveRecord::Base.connection.tables

qiita.com

作成したModelを表示

# 自分のユースケース的にはこれが良かった。全テーブル名を取得して、
tables = ActiveRecord::Base.connection.tables
# こんな感じでmapしてテーブル名からモデルクラスをたどる。
tables.map(&:classify).map(&:safe_constantize).compact

acoder.hatenablog.com