Rose :: DB :: Object

拡張型、高性能オブジェクトリレーショナルマッパー(ORM)
今すぐダウンロード

Rose :: DB :: Object ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 出版社名:
  • John Siracusa
  • 出版社のWebサイト:
  • http://search.cpan.org/jsiracusa/

Rose :: DB :: Object タグ


Rose :: DB :: Object 説明

拡張型、高性能オブジェクトリレーショナルマッパー(ORM) Rose :: DB :: Objectは、データベーステーブルで単一の行をカプセル化するオブジェクトのPerlモジュールです。 Rose :: DB :: Object-Derivedオブジェクトは、簡潔さのためにこのドキュメントでは「Rose :: DB :: Object Objects」と呼ばれることがありますが、派生はこのクラスを使用する唯一の合理的な方法であることを保証します。 :DB :: Objectは、Rose :: Objectの規則から継承し、続く。詳細については、Rose :: Objectのマニュアルを参照してください。このモジュールの配布の非公式の概要で、Rose :: DB :: Object :: Tutorial.RestRictionsRose :: DB :: Objectオブジェクトは、ほとんどすべてのデータベーステーブルの行を表すことができます。以下の制約に従う。 *データベースサーバーはRose :: DBでサポートされている必要があります。 *データベーステーブルには主キーが必要です。 *主キーは、その列のいずれかでNULL値を許可してはいけません。上記のリストに唯一のハードと高速なルールが含まれていることは、存在する可能性がある可能性がある可能性があります。最も一般的な例は存在です。 Rose :: DB :: Object APIのメソッドの名前と競合するデータベース表の列名。回避策は2つあります。列の明示的なエイリアス、またはマッピング関数を定義します。詳細については、Rose :: DB :: Object :: Metadataのマニュアルのalias_columnおよびcolumn_name_te_method_name_mapperメソッドを参照してください.Rose :: DBでサポートされている各データベースサーバのデータ型のサポート度も異なります。既存のRose :: DB :: Object :: Metadata :: Column-Derived Classではサポートされていないデータ型を使用するテーブルがある場合は、独自の列クラスを作成してからタイプ名にマッピングする必要があります。 Rose :: DB :: Object :: Metadataのcolumn_type_classメソッド、ヤダヤダ。 (またはもちろん、新しい型を既存の列クラスにマッピングすることができます。)フレームワーク全体は拡張可能です。このモジュールの配布には、最も一般的な列タイプの直接的な実装が含まれていますが、確かにもっと多くの場合があります。投稿は歓迎されます。 ##参照文書は続きます。 ##まず、Rose :: DBデータソースを設定します。そうしないと、それ以外の場合はデータベースに接続できません。詳細については、Rose :: DBのマニュアルを参照してください。 ## Quick Startについては、Rose :: DB :: Tutorialのマニュアルを参照してください。 ## CREATEクラスの作成 - 2つの可能なアプローチ:#### 1.自動設定#パッケージカテゴリ。基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(table => 'カテゴリ'、AUTO => 1、); ...パッケージ価格;基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(Table => '価格'、AUTO => 1、); ...パッケージ製品。基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(table => 'products'、auto => 1、)。 ## 2。手動設定#パッケージカテゴリ;基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(table => 'カテゴリ'、columns => 、unique_key => 'name'、); ...パッケージ価格;基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(table => '価格'、columns => {ID => {type => 'int'、primary_key => 1}、price => {type => 'decimal'}、領域= > {type => 'char'、length => 3}、product_id => {type => 'int'}]、unique_key => 、)。 ...パッケージ製品。基本QW(Rose :: DB :: Object)を使用してください。 __package __-> meta-> setup(table => 'products'、columns => 、default => '非アクティブ'、}、start_date => {type => 'datetime'}、end_date => {type => 'datetime'}、date_created => {type => 'timestamp'、default => ' '}、last_modified => {type =>' timestamp '、default =>' '}、'、 '、' name '、foreign_keys => 、Relationships => 、); ... ##使用例USAGE#$ product => new(id => 123、name => 'GameCube'、status => 'active'、start_date => '11/5 / 2001 '、end_date =>' 12/1/2007 '、category_id => 5); $ Product-> Save; ... $ product = product-> new(id => 123); $ PRODUCE->負荷。 #「1対1」の関係印刷$ Product->カテゴリ - >名を介して外部オブジェクトをロードします。 $ Product-> End_Date-> Add(days => 45); $ Product-> Save; ... $ product = product-> new(id => 456); $ PRODUCE->負荷。 #「1つの人間関係印刷結合」、$ Product->価格を介して外国のオブジェクトをロードします。 ...


Rose :: DB :: Object 関連ソフトウェア