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で環境を構築できる。

 

f:id:ibufuku:20190430203828j:plain

VirtualBox説明のイメージ図

なんで使うの??

システム開発するときのPCのOSはWindowsMacだが作ったものを本番で動かすときはLinuxOSで動かすことが多い。
そのため、本番と同じような環境で開発したいため仮想上に環境構築して開発することが多い。

 

用語

・ホストOS:自分のPCのOS
・ゲストOS:赤枠のOS(Windows,Linux,Solaris,BSD,IBM OS/2,Macなどが選択できる)

・スナップショット:ある時点をセーブして何かあったらセーブしたところに戻せる

VagrantVirtualBoxを便利にするツール 詳しくは下記を参照

Vagrant(ベイグラント)とは - ibufukuのブログ

メリット

・本番環境に合わせて自由にOSを選択できる
・いらなくなったらすぐに破棄できる
・色々実験できて動かなくなってもすぐに元に戻せる

 

デメリット

・ある程度のスペックのPCが必要(メモリが8GBあれば十分)
・仮想上で開発してるときの動作が遅い

 

Vagrant(ベイグラント)とは

仮想環境(VirtualBoxなど)のOSの設定やソフトウェアのインストールなどの構築、設定を自動化するもの。
VirtualBoxを使う上で必須ではない。

 

なんで使うの??

・テストでは動いていたのに本番環境では動かない
 バージョンの差異
 設定ファイルの差異など....
 
・プロジェクト参画時にメンバーの環境構築に時間がかかる
 手順書が最新化できてない
 新人だと手順書があってもできなかったり....

用語

・Box
 仮想環境のテンプレートのこと。
 自分で作成もできるが下記からダウンロードすれば他人が作成したものを使うこともできる。

 http://www.vagrantbox.es/

・プロバイダ
 VirtualBoxVMWare、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 ブランチ名