Ruby on Railsのマイグレーションに関するいくつかの考慮点
2022-02-12 10:55:11
schema.rbをバージョン管理下に保存します。
空のデータベースを初期化するために、rake db:migrate の代わりに rake db:scheme:load を使用します。
テスト用データベースのスキーマを更新するには、rake db:test:prepare を使用します。
テーブルにデフォルトデータを設定しないようにする。代わりにモデルレイヤーを使ってください。
def amount
self[:amount] or 0
end
しかし、self[:attr_name] の使用はかなり一般的であると考えられており、代わりにもっと冗長な(そして議論の余地がある) read_attribute を使うことも考慮すべきかもしれません。
def amount
read_attribute(:amount) or 0
end
構成的なマイグレーション (テーブルやカラムの結合) を書くときは、Rails 3.1 の新しいマイグレーション方法 - up および down メソッドの代わりに change メソッドを使用する - を使用します。
# The way it used to be
class AddNameToPerson < ActiveRecord::Migration
def up
add_column :persons, :name, :string
end
def down
remove_column :person, :name
end
end
# New preferences
class AddNameToPerson < ActiveRecord::Migration
def change
add_column :persons, :name, :string
end
end
関連
-
Ruby正規表現とサンプルコード
-
Rubyのブロックとパラメータ渡しを説明する
-
MongoDBに接続するためのRuby on Railsフレームワークアプリケーション チュートリアル
-
RubyとRuby on Railsフレームワーク環境構築の簡潔なチュートリアル
-
RubyのXMLデータパースライブラリ「Nokogiri」の高度な使い方
-
Builderビルダーパターンを用いたRubyデザインパターンプログラミング例
-
Rubyのデザインパターン。プログラミングにおけるシングルトンパターンの活用
-
デザインパターンのうち、ProxyパターンとDecorativeパターンを使ったRubyのコード例
-
CentOS7でruby on railsの開発環境を構築する。
-
Ruby WebDriverガイド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
モンキーパッチのプログラミングスタイルとRubyでの利用について
-
UbuntuでRuby on RailsフレームワークとRubyMine IDEを設定する
-
Rubyのオブジェクト指向プログラミングでクラスとメソッドの基本を学ぶ
-
Rubyの文法と言語機能のまとめ
-
RubyのProcクラスとProc.newメソッドの使用法
-
アプレットを置き換えるHTMLスクリプトを記述するRubyの例
-
Ruby on Railsのjquery_ujsコンポーネントが遅くなる問題が解決された
-
Rubyにおけるコメントの使い方と中国語のエンコーディングについて解説します。
-
Ruby on Railsのメーラーの使い方を説明します。
-
Rubyのバージョンを管理するためのrbenvの使い方