既存のActiverecord.csファイルからデータベーススキーマを入手する方法
-
15-09-2020 - |
質問
亜音素ORMを使用する既存のプロジェクトのソースコードを与えられました。My(限定!)理解は、副代理が既存のデータベースをリバースエンジニアリングしてコードを生成することです。残念ながら、私はこのプロジェクトに使用されたデータベースを持っていません。
私は最後にコンパイルされた最後の時からactiverecord.csファイルを持っています。データベースを再現できるようにデータベーススキーマをどのように解決するにはどうすればよいですか。
解決
これはサブソンのように聞こえます。小さなデータベースを自分で作成し、亜音声を実行して、activerecord.csで生成されるものを確認してください。
あなたのActivereCord.csファイル内では、テーブルごとに1つの部分クラスがあります。部分クラスはIactiverecordから継承され、テーブルの名前がある可能性があります。
クラス内では、テーブルの主キー列名を返す「keyname()」という関数があります。 Subonicはテーブルの主キーを必要とし、コードを生成します。
「外部キー」という名前の領域を探す。このテーブルに外部キーがある場合は、各外部キーに対応するプロパティ、「Public IQueryable OtherTableNames」のようなものがあります。そのため、このテーブルには "otherTableNameId"のようなものという名前の列があります。外部キーテーブルの生成された部分クラスを確認してください。
外部キー領域のすぐ下には、このテーブルの非外部キー列のプロパティがあります。プロパティデータ型からの列のデータ型でいくらか推測できます(たとえば、文字列はchar(x)、またはvarchar(x))。