そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

2014-02-01から1ヶ月間の記事一覧

rails - has_many through:

他対他 の関連を参照する 元々は他対他を直接参照できるようにするもの。 +-------+ +-----------+ +-----+ |Product| 1---n |OrderDetail| n---1 |Order| +-------+ +-----------+ +-----+例えば、特定の Order中の Productを調べたい場合など。 class Prod…

rails - ActiveRecord Migration のまとめ

基本 db/migration 以下に YYYYMMDDhhmmdd_XXX_YYY.rb のファイルを作成する Migrationのファイル名とクラス名は一致していないとダメ ファイル名: YYYYMMDDhhmmdd_create_users.rb クラス名: CreateUsers 自分で設定ファイルを作成可能だが 基本的には rail…

chef - git レポジトリを扱う

(adsbygoogle = window.adsbygoogle || []).push({}); 最近のアプリケーションは git clone してパスを設定するだけ、 というものも増えてますが、chefにも git リソースがあります。git のリモートリポジトリと同期をとり、更新を検出してくれる 点で execu…

chef - knife solo を使う

chef-solo を簡単に使うには knife solo を使います。 chef-serverを使わなくてもリモート実行できるので楽に一元管理できます。 前提 以下の準備が必要です。 ssh でリモートアクセスできること (パスフレーズ無が好ましい) sudo でroot権限になれること イ…

rails - 便利なコマンド

ルーティングを表示する rake routes で、HTTPのメソッド名・パスとコントローラ・アクションの対応テーブル を出力できる。 $ rake route Prefix Verb URI Pattern Controller#Action welcome_index GET /welcome/index(.:format) welcome#index posts GET …

rails - Mysql2::Error: Incorrect string value

(adsbygoogle = window.adsbygoogle || []).push({}); 次のエラーがでた場合。 Mysql2::Error: Incorrect string value: 原因を調べる おおむね、データベースの文字コードを確認する。 たいてい latin1 とかになっている。 $ mysql -uuser -p my_db mysql >…

rbenv - bundler と組み合わせてローカルにインストール

複数のアプリケーションでバージョン違いのライブラリを 入れるなどしたい場合、bundle を組み合わせて使います。 rails 4.0.2 を vendor/bundle 以下にインストールする例 Gemfile を作成 source "https://rubygems.org" gem "rails", "4.0.2" bundle insta…

chef - ohai でシステム情報を確認する

chef-client (chef-solo) で使用している、システムのインベントリ情報を JSON形式で出力するツールが用意されています。 $ ohai { "languages": { "ruby": { "platform": "x86_64-linux", "version": "2.0.0", "release_date": "2013-11-22", "target": "x8…

chef - レシピの基礎(4)

ユーザやグループを作成したい システムのユーザおよびグループを追加するには、userリソースとgroupリソースを使います。 user user "www" do comments "web server" home "/home/www" shell "/sbin/nologin" uid 200 gid 200 supports :manage_home => fal…

chef - レシピの基礎(3)

サービスの設定をする サーバ類の起動・終了などをchef-clientで管理するには service リソースを使います。次の例では、mysqld をマシン起動時に自動起動させるようにし、 かつ、mysqldサーバを起動します。 service "mysqld" do action [:enable, :start] …

chef - レシピの基礎(2)

コマンドを実行する execute リソースを使います execute "do command" do command "foo bar" end packageリソースなどとは異なり、冪等性(何度操作しても 同じ状態となる性質)が確保されません。not_if / only_if などで制御する必要があります。 execute…