Ruby on Railsにデータベース(SQLite)を導入する

RailsからDBにつないでみる。レジストリを汚したくないのでOracleやMySQLを避け、軽量な SQLiteを試す。SQLiteは、常駐プロセスではなくライブラリとして動作し、要はexeかdllを所定の場所に置いておけば、適宜外部から起動してレコードにアクセスができるらしい。都度起動するのでパフォーマンスは出ないだろうけど、試すだけなら十分だ。 Sqlite3はバイナリをパスの通ったところに置いておけば使えるそうなので、Ruby\bin に置いておくことにする。バイナリ SQLiteのホームページ から取得。Rubyは64bit版を入れていて、Sqlite3は32bit版ではあるが、特に問題はない筈。落としたのは以下の2つ。***はバージョン番号。
  • sqlite-dll-win32-x86-***.zip・・・Precompiled Binaries for Windows の32bit版DLL
  • sqlite-shell-win32-x86-***.zip・・・Precompiled Binaries for Windows の32bit版EXE
それぞれを解凍して、sqlite3.exe と sqlite3.dll を ruby/bin に入れておく。とりあえずこれでrubyコンソールからはパスが通っている筈。後者のEXEは不要ではあるが、rubyを経由せずにレコード操作ができるように入れておいた。 次にRubyからsqliteを叩けるようする。調べたところでは、
> set HTTP_PROXY=http://[USER]:[PASSWORD]@hoge:[PORT]
> gem install sqlite3
とするだけ。プロキシ使ってなければ1行目は不要。

gemというのは、RailsではなくってRubyにいろいろなモジュールを追加したり削除したりするツールらしい。モジュールのバイナリは都度ネットのリポジトリかどっかを探して落としてきてくれるのね。

  • gem install [PACKAGE] ・・・指定したパッケージをインストールする
  • gem uninstall [PACKAGE] ・・・指定したパッケージをアンインストールする
  • gem update [PACKAGE] ・・・指定したパッケージを最新に更新する
  • gem cleanup [PACKAGE] ・・・指定したパッケージの最新だけを残して、古いのを消す
  • gem which [PACKAGE] ・・・指定したパッケージがどこにインストールされてるか表示する
  • gem list ・・・インストールされたパッケージの一覧を表示する
らしい。そのほかのコマンド一覧は
gem help command
で取得できて、各コマンドの詳細は、
gem help [command名]
で表示された。gem listとすると、確かにSQLite3はインストールされている。本当に接続できるか確認するには次のようにするらしい。
> rails dbconsole
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
sqlite>
と出力されればOK。
sqlite> .exit
でシェルに戻れる。

コメント

このブログの人気の投稿

svnをバッチジョブから実行するときの認証を解決する

Windows Update で Cisco Anyconnect が繋がらなくなる。(Windows8.1)

Windows8.1 から Cisco AnyConnectを使う