ActiveRecordとSQLの対応表
ActiveRecordとは
Ruby on RailsのORマッパー
SQLを直接書かなくていいやつ
対応表
SQLは分かるけどそれをActiveRecordで書いたときにどうやって書くかが分からない時があるため、下記対応表としてまとめておく
対応表に関しては日々増やしていく予定
ActiveRecordにおけるデータ抽出(SELECT)
MySQL | ActiveRecord |
---|---|
SELECT users.* FROM users | User.all |
SELECT users.* FROM users WHERE users.name = 'HOGE' LIMIT 1 |
User.find_by(name: "HOGE") |
ActiveRecordにおけるデータ登録(INSERT)
MySQL | ActiveRecord |
---|---|
INSERT INTO users (name, created_at, updated_at) VALUES ('hoge', sysdate, sysdate) |
@user = User.create(name: 'hoge') |
ActiveRecordにおけるデータ更新(UPDATE)
MySQL | ActiveRecord |
---|---|
UPDATE users SET name = page, updated_at = sysdate WHERE users.id = 1 |
User.update(name: 'hage').find(1) |
ActiveRecordにおけるデータ削除(DELEATE)
MySQL | ActiveRecord |
---|---|
DELETE FROM users WHERE users.id = 1 |
User.find(1).destroy |
VirtualBox(ヴァーチャルボックス)とはVagrant(ベイグラント)とは
VirtualBoxとは
オラクル製の仮想環境を構築するソフト。競合としては「VMware」がある。
何ができるかというと、開発で使うPCに仮想的に別のOSで環境を構築できる。
なんで使うの??
システム開発するときのPCのOSはWindowsかMacだが作ったものを本番で動かすときはLinuxOSで動かすことが多い。
そのため、本番と同じような環境で開発したいため仮想上に環境構築して開発することが多い。
用語
・ホストOS:自分のPCのOS
・ゲストOS:赤枠のOS(Windows,Linux,Solaris,BSD,IBM OS/2,Macなどが選択できる)
・スナップショット:ある時点をセーブして何かあったらセーブしたところに戻せる
・Vagrant:VirtualBoxを便利にするツール 詳しくは下記を参照
Vagrant(ベイグラント)とは - ibufukuのブログ
メリット
・本番環境に合わせて自由にOSを選択できる
・いらなくなったらすぐに破棄できる
・色々実験できて動かなくなってもすぐに元に戻せる
デメリット
・ある程度のスペックのPCが必要(メモリが8GBあれば十分)
・仮想上で開発してるときの動作が遅い
Vagrant(ベイグラント)とは
仮想環境(VirtualBoxなど)のOSの設定やソフトウェアのインストールなどの構築、設定を自動化するもの。
VirtualBoxを使う上で必須ではない。
なんで使うの??
・テストでは動いていたのに本番環境では動かない
バージョンの差異
設定ファイルの差異など....
・プロジェクト参画時にメンバーの環境構築に時間がかかる
手順書が最新化できてない
新人だと手順書があってもできなかったり....
用語
・Box
仮想環境のテンプレートのこと。
自分で作成もできるが下記からダウンロードすれば他人が作成したものを使うこともできる。
・プロバイダ
VirtualBox、VMWare、EC2などの仮想環境のこと
・プロビジョニング
ソフトウェアのインストールや設定管理を行うツール(Chef、Puppetなど)
よく使うgitコマンド
忘れがちだが使うコマンド
毎日は使わないが週1くらいでは使うやつを上のほうに書いとく。
gitを極めるまでは高頻度で検索しがちなやつ。
ローカルリポジトリからブランチを切る
git chekcout -b ブランチ名
リモートリポジトリからブランチを切る
git checkout -b 新しく作るブランチ名 origin/作成元のブランチ名
branchの削除
git branch -d ブランチ名
忘れがちだし全然使わないコマンド
初期設定系のやつ案件参画時やチームが変わったときに使うやつ。
全然使わないから絶対に検索してしまうやつ。
初期設定
git config --global user.name "XXXX"
git config --global user.email "XXXX@hogehoge.com"
クローン
git clone https://github.com/XXXX/XXXXXX.git
ほぼ毎日使うから忘れないコマンド
ほぼ毎日使うからすぐに覚えてしまうやつ。早く覚えるべきコマンドではあるが使う頻度が高いから調べる必要がなくなる。
add
git add ファイル名
コミット
git commit -m 'コメント'
push
git push origin ブランチ名
変更されたファイルの確認
git status
ブランチに変更
git checkout ブランチ名
変更の取り消し
git checkout ファイル名
リモートリポジトリの変更をローカルリポジトリに反映
git pull origin ブランチ名