SQLite3

参考:

sparklemotion/sqlite3-ruby: Ruby bindings for the SQLite3 embedded database – GitHub

sqlite3 | RubyGems.org

SQLite Home Page [Official]

ドキュメント

参考:

Documentation for sqlite3 | RubyDoc.info

インストール

Mac に Homebrew でインストールする。

$ brew install sqlite3

~/.bash_profilePATH を設定する。

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

SQLite3 のコマンド | TASK NOTES

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 – ActiveRecord::ConnectionAdapters::SQLite3Adapter | Ruby on Rails API [Official]

config.active_record.sqlite3.represent_boolean_as_integer – rails/railtie.rb at v6.0.0.rc1 · rails/rails – GitHub

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

Set `represent_boolean_as_integer` via `configuration` by y-yagi · Pull Request #29782 · rails/rails – GitHub

Change sqlite3 boolean serialization to use 1 and 0 by lugray · Pull Request #29699 · rails/rails – GitHub

sqlite boolean ‘t’ and ‘f’ with rails active record – Stack Overflow

PRAGMA

参考:

Rails 4.0.2 and sqlite PRAGMA – Stack Overflow

パフォーマンスチューニング

参考:

Speed up your Rails sqlite database for large dataset. This should be a Rails initializer, goes into config/initializers. – GitHub Gist

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

Error Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8 – Stack Overflow

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です