sql >> データベース >  >> RDS >> PostgreSQL

Rails、PostgreSQL、および履歴トリガー

    ActiveRecordが理解できないデータベース固有の機能が必要または必要な場合は、db/structure.sqlに切り替える必要があります。 スキーマを追跡するため。 db/structure.sql これは、データベースのネイティブツールを使用して作成されたスキーマの生のダンプであるため、トリガー、CHECK制約、関数結果のインデックス、その他すべてが含まれます。

    切り替えは簡単です:

    1. config/application.rbを更新します config.active_record.schema_format = :sqlを含める 。
    2. rake db:structure:dumpを実行します 最初のdb/structure.sqlを取得します 。
    3. db/schema.rbを削除します ディレクトリツリーとリビジョン管理から。
    4. db/structure.sqlを追加します リビジョン管理へ。
    5. レーキの習慣を調整します:
      • db:structure:dumpを使用します db:schema:dumpの代わりに
      • db:structure:loadを使用します db:schema:loadの代わりに

    他のすべては通常どおりに機能するはずです(もちろん、あなたが正気で、開発、テスト、および本番環境にPostgreSQLを使用していると仮定します)。

    この変更が行われると、トリガーはdb/structure.sqlで追跡されます。 データベースを再作成しても、それらは失われません。



    1. (IDではなく)インデックスでSQLiteの行を取得する方法

    2. Javaアプリケーションでsp_msforeachdbを実行します

    3. WHERE vs HAVING

    4. Ubuntu 10.04 LTS(Lucid)でMySQLリレーショナルデータベースを使用する