ゼットコードログ

コード的な何かを書いていきます。

Railsでバッチを作成するときのメモ

Railsでバッチを生成したい場合のコマンド類のメモ。 よく忘れるからね。

バッチ用rakeファイルを作成する。

$ ./bin/rails g task {yourBatchFileName}

登録されているrakeコマンドを確認する

$ ./bin/rake -vT

バッチの実行

$ ./bin/rake {yourBatchNameSpace}:{taskName}

Herokuよく使うコマンドメモ

Herokuでよく使うコマンドの覚書的メモ。よく忘れるからね。

アプリケーションを作成し、デプロイする

heroku create
git push heroku master

アプリケーションの実行状態を確認

heroku ps

アプリケーションのスケールアップ(お財布と要相談)

heroku ps:scale web=2

アプリケーションのログを確認

--tailオプションでリアルタイムに確認可能

heroku logs 
heroku logs --tail

アプリケーションに対してコマンドを実行する

ただし、実行するサーバーはコマンド実行専用に立ち上がる仕様を把握しておこう。ファイルなどを直接更新しても永続化されない。

#bashでログイン
heroku run bash
#railsコンソールを起動
heroku run console
#migrationを実行
heroku run rake db:migrate
#psqlコマンドを実行する
heroku pg:psql --app {appName} {dbName}

アプリケーションのメンテナンス状態を管理

heroku maintenance:on
heroku maintenance
heroku maintenance:off

環境変数を確認、設定する

ホスト名などいった設定値は、ソースに直接書くのではなく、環境変数を使うと便利。

#変数の一覧を取得
heroku config
#変数を指定して取得
heroku config:get {keyName}
#変数を設定
heroku config:set {keyName}={value}
#変数を削除
heroku config:unset {keyName}

ソース内では次のようにENV変数で読み込める。

hostName = ENV['hostname']

アプリケーションを再起動

heroku restart

#Dynoを指定して起動する場合はweb.xxを設定
heroku restart web.1

アドオンを追加

heroku addons:add {addonName} {addodOption}

Railsテスト関連のメモ

RSpecのセットアップ

./bin/rails g rspec:install

テスト用ファイルの雛形作成

#モデルのテスト
./bin/rails g rspec:model {modelName}

#コントローラーのテスト
./bin/rails g rspec:controller {controllerName}

#ビューのテスト
./bin/rails g rspec:view {controllerName} {actionName}

テストの実行

./bin/bundle exec rspec {specFileName}

FactoryGirl用ファイルの準備

./bin/rails g factory_girl:model {modelName}

railsでDB関連の操作

データベースの作成(初回)

./bin/rake db:create

データベースの更新、マイグレーションファイルの適用

./bin/rake db:migrate

現在のマイグレーションファイルの適用状況を確認する

./bin/rake db:migrate:status

modelを作成する

./bin/rails g model User {columnName}:{Type} ...

modelにカラムを追加する

./bin/rails g migration Add{columnName}To{tableName} {columnName}:{Type}

sqliteを起動して対話形式でSQLを発行する

sqlite3 db/development.sqlite3

bundlerでrailsをインストールする

bundler以外はシステムに直接インストールせずに、railsをインストールする 以下、コマンドのメモ。よく忘れるからね。

$ mkdir myproject
$ cd myproject
$ bundle init

# Gemfileのrailsのコメントを外す
$ bundle install --path vendor/bundle

#上書きするか?と聞いてくるのでyを入力
$ bundle exec rails new .
# sqliteではないDBを利用する場合は-dオプションで指定する。
$ bundle exec rails new . -d postgresql

# Gemfileのtherubyracerのコメントを外す
$ bundle install --path vendor/bundle
$ ./bin/rails server

#hostやipを指定する場合は-bオプション
$ ./bin/rails server -b 192.168.33.10

scaffoldでアプリのひな形を作成

./bin/rails generate scaffold myapp content:text

SublimeText 私的メモ

忘れたら、また覚えればよいの精神でメモ。

SublimeText My cheet sheet

マルチカーソル

  • Command + u で選択を一個キャンセルする
  • Command + Shift + L で選択を行単位にする

ウィンドウ操作

  • Command + option + 数字 縦に分割する
  • Command + option + Shift + 数字 横に分割する
  • Ctrl + 番号 カーソルを所定のウィンドウへ移動させる
  • Ctrl + Shift + 番号 所定のウィンドウへファイルを移動

編集

  • Command + Shift + d カーソルがある行を複製する
  • Command + Ctrl + up カーソルがある行または選択行を上へ移動させる
  • Command + Ctrl + down カーソルがある行または選択行を下へ移動させる

コマンドパレット

  • Command + Shift + p コマンドパレットを開く
  • Command + p GoAnythingを開く
  • @ GoAnythingでシンボルを指定する
  • : GoAnythingで行を指定する

CTags

  • Ctrl + t,Ctrl + t 定義部分へジャンプ
  • Ctrl + t,Ctrl + b 呼び出し元へ戻る
  • Ctrl + t,Ctrl + y 定義しているファイルにフォーカスを当てる
  • Ctrl + t,Ctrl + r tagの再構成