問題タブ [datamapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - データマッパー + オブザーバーパターン
PHP でアプリを構築しており、DB アクセスにデータ マッパー パターンを使用しています。Observer パターンを使用して、すべてのマッパーが作成したエンティティを観察できるようにすることを検討していました。これにより、手動で解析しなくても変更をデータベースに自動的に保存できるようになります。
これが良いアイデアなのか、それとも悪い習慣なのかなど疑問に思っていましたか?
私は通常、階層内で一緒にリンクされているいくつかのオブジェクトを操作しています。現時点では、各オブジェクトを手動でマッパーに解析する必要があります。これはかなり面倒なので、より良い解決策を考え出そうとしています。
ありがとう、ジャック
ruby - モデルのIDを正しく保存するためにrubyライブラリDataMapperのin_memoryアダプターを作成するにはどうすればよいですか?
これは、rubyORMライブラリDataMapperに関するものです。
このウィキでは、DataMapper用のin_memoryアダプターの使用方法について説明しています。適切なデータベースアダプタは、各モデルインスタンスに増分する一意のIDを保存します-次のスニペットに示すように、in_memoryはそれを行わないようです。
検査の結果は次のとおりです。
たとえば、別のアダプターを使用して接続した場合、sqliteデータベースIDは「1」に設定されます。
他の属性の一意性を保証できないため、idを介してモデルを参照したいと思います。in_memoryアダプターにモデルの増分する一意のID属性を保存させる方法はありますか?
ruby - Merb & DataMapper - データベース接続情報にアクセスしますか?
MySQL データベースで Merb と DataMapper を使用しています。Merb アプリの Rake タスクからデータベース名、ユーザー、およびパスワードにアクセスしたいと考えています。私YAML.load()
はdatabase.ymlができたと思いますが、それは醜いようです。何か案は?
design-patterns - Fowler Data Mapper オブジェクトの作成
私は Data Mapper を使用してドメイン モデルに Fowler パターンを利用してきましたが、CRUD の作成部分を実装する方法について混乱に陥りました。基礎となるデータ ソースがカスタム システムであるため、既存の ORM テクノロジを利用できません。私を悩ませているのは、新しいオブジェクトを作成する必要があるときに、下にある ORM を呼び出す方法です。私のドメイン層は、私のファインダーを除いて、私の ORM の可視性を持っていません。
正しい軌道に乗っているかどうかはわかりませんが、表示できる唯一のオプションは次のとおりです。
Fowler finder と同じ方法で create 関数を処理します。ORM クラスの作成メソッドのドメイン モデル レイヤーにインターフェイスを作成します。次に、ドメイン モデルで DI コンテナーを呼び出し、インターフェイスに基づいて ORM クラスのインスタンスをインスタンス化します。
ORM でのオブジェクト A のハイドレーション中に、オブジェクト B の ORM の作成メソッドを指すデリゲートをアタッチします。ドメイン オブジェクト A がハイドレートされることを要求すると、オブジェクト B のマッパーで create メソッドを呼び出すオブジェクト A でデリゲートを呼び出すことができます。
???
これはそれほど複雑ではないので、何かが欠けているに違いありません。どんな助けでも大歓迎です。
ありがとう
c# - データマッパー、テーブルデータゲートウェイ(ゲートウェイ)、データアクセスオブジェクト(DAO)、およびリポジトリパターンの違いは何ですか?
デザインパターンのスキルを磨こうとしていますが、これらのパターンの違いは何ですか?それらはすべて同じもののように見えます。特定のエンティティのデータベースロジックをカプセル化して、呼び出し元のコードが基盤となる永続層を認識しないようにします。私の簡単な調査から、それらはすべて、通常、標準のCRUDメソッドを実装し、データベース固有の詳細を抽象化します。
命名規則(例:CustomerMapper、CustomerDAO、CustomerGateway、CustomerRepository)とは別に、違いは何ですか?違いがある場合、いつどちらを選びますか?
以前は、次のようなコードを記述していました(単純化すると、当然、通常はパブリックプロパティを使用しません)。
そしてCustomerGateway
、すべてのメソッドに特定のデータベースロジックを実装するクラスがあります。インターフェースを使用せず、CustomerGatewayのすべてのメソッドを静的にすることがあるので(テストが難しくなることはわかっています)、次のように呼び出すことができます。
これは、データマッパーパターンとリポジトリパターンの場合と同じ原則のようです。DAOパターン(ゲートウェイと同じだと思いますか?)も、データベース固有のゲートウェイを促進しているようです。
私は何かが足りないのですか?同じことを3〜4つの異なる方法で行うのは少し奇妙に思えます。
ruby-on-rails - Rails アプリで ActiveRecord の代わりに Datamapper を使用するために必要な調整
ActiveRecord の代わりに、Rails アプリで Datamapper を使用しようとしています。
さまざまなセットアップ手順に従い、Datamapper をアプリで動作させました。
しかし、機能しなくなったことに最初に気付いたのは次のとおりです。
これは ActiveRecord ヘルパーに関連していると思います。View for Datamapper で検証の失敗を報告する別の方法はありますか?
アプリで調整が必要になる、このような機能の例がさらに多く発生する可能性はありますか?
このプロジェクトは実行可能ですか、それとも多くの複雑なハッキングが必要になる可能性がありますか?
必要なアプリケーションの調整をすべて文書化した人はいますか?
Google でこの種の簡単な手順を見つけるのが難しいため、Datamapper は広く使用されていないと思います。
ruby-on-rails - Datamapper と Rails によるリダイレクト
アルバム モデルをリソースとしてマップするために、routes.rb に次の行があります。
ただし、Rails で ActiveRecord の代わりに Datamapper を使用すると、次の行は次のようになります。
次へのリダイレクトを引き起こします。
それ以外の:
さらにコンテキストが必要な場合に備えて、コントローラーからの完全な作成メソッドを以下に示します。
慣例として、このメソッドは、new.html.erb の「new」メソッドからのフォーム送信の結果として呼び出されます。
mysql - DataMapper でランダム データを選択する
DataMapper でランダムなデータセットを選択しようとしていますが、そのような機能のサポートはないようです。
たとえば、私は一連のデータを持っています:
10 万行を超える大量のデータが存在する可能性があります。
そして、データをオブジェクトにマップする必要があります:
だから、問題は次のとおりです。テーブルからランダムなデータを選択する方法は?
SQL での同様のクエリは次のようになります。
ruby-on-rails - Ruby または Ruby on Rails から BerkeleyDB データベースにどのように話しかけますか?
Ruby または Rails プロジェクトで BerkelyDB データベースをセットアップする方法がわかりません。
誰かが話すことができる、それを構成した経験がありますか?
おそらくActiveRecordまたはDatamapperを使用していますか?