タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

データベースとRailsに関するryu39のブックマーク (2)

  • Rails: 日付や時刻のカラム名を命名規則に合わせよう(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Use Rails’ naming conventions for dates & times 公開日: 2017/09/29 著者: Andy Croll -- フリーランスRuby開発者です。 Railsでは、ActiveRecordモデルで使われるupdated_atとcreated_atというマネージドのタイムスタンプがデフォルトで使えます。 しかし、さまざまなアプリのschema.rbやマイグレーションを調べてみると、モデルで何とか_dateのようなフィールド名をよく見かけます。 次のように書かないこと データベースカラム名にdateやtimeという語を含める: class NaughtyMigration < ActiveRecord::Migration[5.1] add_column :users, :logge

    Rails: 日付や時刻のカラム名を命名規則に合わせよう(翻訳)|TechRacho by BPS株式会社
  • Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog

    前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら

    Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog
    ryu39
    ryu39 2017/09/25
    ignore_columns知らなかった。Rails 3.2 & postgresqlで似たような対応をしたことがあるが、カラム消してる時、DBレベルで他トランザクションでエラー出る時があり、未だに解決方法が見つかってない。
  • 1