SQLite3
参考:
sparklemotion/sqlite3-ruby: Ruby bindings for the SQLite3 embedded database – GitHub
ドキュメント
参考:
Documentation for sqlite3 | RubyDoc.info
インストール
Mac に Homebrew でインストールする。
$ brew install sqlite3
~/.bash_profile
で PATH
を設定する。
export PATH="/usr/local/opt/sqlite/bin:$PATH"
参考:
sqlite3 と gem sqlite3 のインストール – Qiita
Rails から SQLite3 を利用できるようにする | RubyLife
Rails プロジェクト作成時に sqlite のインストールがうまくいかない – teratail
導入
参考:
Ruby で SQLite3 使ってみた | light log
sqlite3 の使い方の簡単な説明 | 君の瞳はまるでルビー
Rails で SQLite を使ってみる | yk5656 diary
バージョン
ActiveRecord によって使用できる sqlite3 gem のバージョンが指定されているので、その範囲の gem を使用する。
1.3.x
系を使う。
gem "sqlite3", "~> 1.3"
1.4.x
系を使う。
gem "sqlite3", "~> 1.4"
参考:
Rails で SQLite3 使う時は gem のバージョンを指定しないといけない – Qiita
Rails を始めて sqlite3 まわりのエラーで躓いている人たちへ – Qiita
rails と sqlite3 のバージョンによるエラーについて – teratail
sqlite3_adapter has conflict with new version of sqlite3 gem · Issue #35153 · rails/rails – GitHub
can’t activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0 – Stack Overflow
コマンド
参考:
rails / rake / sqlite3 コマンド – Qiita
Rails のローカルで SQLite を使う時 – Qiita
PRAGMA table_info
参考:
Rails でテーブルの構造を調べる時のメモ | one by one
SQLite でテーブルのカラム構造を取得する | EZ-NET
テーブルスキーマ (構造) の確認 | SQLite 入門 (www.dbonline.jp)
SQLite3 でテーブル情報の取得 | Scratchpad@usagi1975.com
コマンドラインでのテーブル内容の確認コマンド | IT 業務で使えるプログラミングテクニック
How can one see the structure of a table in SQLite? – Stack Overflow
config/database.yml
参考:
SQLite 用のデータベース設定ファイル (database.yml) | Ruby on Rails 入門 (www.javadrive.jp)
boolean の設定
Rails.application.config \ .active_record.sqlite3.represent_boolean_as_integer = true
参考:
Active Recordを設定する | Rails ガイド [公式]
represent_boolean_as_integer – rails/sqlite3_adapter.rb at v5.2.3 · rails/rails – GitHub
represent_boolean_as_integer – rails/sqlite3_adapter.rb at v6.0.0.rc1 · rails/rails – GitHub
sqlite boolean ‘t’ and ‘f’ with rails active record – Stack Overflow
PRAGMA
参考:
Rails 4.0.2 and sqlite PRAGMA – Stack Overflow
パフォーマンスチューニング
参考:
Your version of SQLite is too old エラー
SQLite のバージョンが適合しない旨のエラーが発生する。
RuntimeError: Your version of SQLite (3.7.x) is too old. Active Record supports SQLite >= 3.8.
原因:
Rails 6.0 以降では SQLite 3.8 以上のバージョンが必要。
対処法:
SQLite のバージョンを更新する。(バージョン 3.8 以降の SQLite をインストールする。)
参考:
check_version – rails/sqlite3_adapter.rb at v6.0.0.rc1 · rails/rails – GitHub