新しいRailsアプリケーションでレガシーデータベースを使用する際の通常の問題/つまずき/問題/欠点は何ですか?
古いデータベースを使用するか、移行スクリプトを作成して古いデータベースから新しいデータベースにデータを移行するかを決定する必要があります。何を提案しますか?
新しいRailsアプリケーションでレガシーデータベースを使用する際の通常の問題/つまずき/問題/欠点は何ですか?
古いデータベースを使用するか、移行スクリプトを作成して古いデータベースから新しいデータベースにデータを移行するかを決定する必要があります。何を提案しますか?
テーブルの命名は、しばらくの間私を惹きつけたものでした。トリックは、モデルでこれを使用することでした:
set_table_name 'old_table_name'
set_primary_key 'old_key_column'
そうすれば、任意のテーブルにリンクしながら、任意のモデル名を使用できます。
1) 通常、最初の問題は、Rails (または少なくとも ActiveRecord) が「id」という名前の主キーを必要とする場合に、データベース スキーマの設計に複合主キー (複数列キー) があることです。多くの優れたデータ モデルは代理キーを使用せず、自然キーを使用するため、複合キーを避けることはできません。実際には、ORM 用の新しいデータベースを設計するときは、「id」という名前の代理キーを使用する方がより実用的ですが、自然キーに代替キー制約/インデックスを常に含めることでデータの整合性を確保します。
2) 複数形と単数形を使用するテーブルの命名 (Rails は、複数形をそのドメイン オブジェクトにマップすることを望んでいます。多くのデータベースでは、これは同義語で簡単に克服できます。
これらは Rails やその他の MVC フレームワークで私が遭遇した 2 つの問題ですが、過去数年間で変更され、単純なナンセンスに代わるものを提供したものもあります。レガシー データベースを変更するのは費用がかかります。また、命名規則を強制することは大きな間違いであり、今ではそれがわかっていると思います。