2

新しいRailsアプリケーションでレガシーデータベースを使用する際の通常の問題/つまずき/問題/欠点は何ですか?

古いデータベースを使用するか、移行スクリプトを作成して古いデータベースから新しいデータベースにデータを移行するかを決定する必要があります。何を提案しますか?

4

2 に答える 2

2

テーブルの命名は、しばらくの間私を惹きつけたものでした。トリックは、モデルでこれを使用することでした:

set_table_name  'old_table_name'
set_primary_key 'old_key_column'

そうすれば、任意のテーブルにリンクしながら、任意のモデル名を使用できます。

于 2010-03-27T01:22:21.393 に答える
1

1) 通常、最初の問題は、Rails (または少なくとも ActiveRecord) が「id」という名前の主キーを必要とする場合に、データベース スキーマの設計に複合主キー (複数列キー) があることです。多くの優れたデータ モデルは代理キーを使用せず、自然キーを使用するため、複合キーを避けることはできません。実際には、ORM 用の新しいデータベースを設計するときは、「id」という名前の代理キーを使用する方がより実用的ですが、自然キーに代替キー制約/インデックスを常に含めることでデータの整合性を確保します。

2) 複数形と単数形を使用するテーブルの命名 (Rails は、複数形をそのドメイン オブジェクトにマップすることを望んでいます。多くのデータベースでは、これは同義語で簡単に克服できます。

これらは Rails やその他の MVC フレームワークで私が遭遇した 2 つの問題ですが、過去数年間で変更され、単純なナンセンスに代わるものを提供したものもあります。レガシー データベースを変更するのは費用がかかります。また、命名規則を強制することは大きな間違いであり、今ではそれがわかっていると思います。

于 2010-03-27T00:46:11.243 に答える