3

私はRedBeanPHPの概念が大好きです。開発中は、データベースの使用について心配する必要はありません。RedBeanがすべてを代行します。テーブルは作業中に形成され、テーブルに満足したらフリーズします。これに関して私が目にする唯一の問題は、プロジェクトを新しいシステムに移動するときです。ORMの優れた部分の1つは、データベーステーブルがPHPモデルから作成されることです。つまり、データベース構造を安全に保つために、データベース構造を常にエクスポートする必要はありません。RedBeanを使用してこれがどのように達成されるかはわかりません。これは、変数データを使用して時間をかけて繰り返し使用した後、テーブル構造を形成するためです。

事前にテーブルの構造を定義しておくと、そもそもRedBeanを使う意味が少し弱くなると思いますが、少なくとも開発時にRedBeanを「ダイナミックモード」で使ってからPHPでデータベースの構造を定義したいので。システム間でプロジェクトを移動することはそれほど苦痛ではありません。

RedBeanPHPを使用したことがあり、おそらく以前にこの問題に直面したことがある人が対処できるように、懸念事項を十分に明確にしたことを願っています。

ありがとう

4

3 に答える 3

2

メタデータを使用してRedBeanの型を強制できることがわかりました。

$bean->setMeta('cast.myproperty', 'text');

ここで見つかりました:http://redbeanphp.com/extra/meta_data

于 2013-02-28T15:02:51.160 に答える
1

メソッドを拡張しR::freezeて空の sqlite データベースを作成し、それを使用R::syncSchemaして構造を埋めることができます。次に、本番環境では、タスクは同じメソッドを使用してプロセスを逆にすることができます。

于 2013-02-25T15:35:29.043 に答える
0

まだ実行していませんが、FUSEを使用してすべてのBeanタイプをロードし、(Beanのメタデータ情報に基づいて)各Beanタイプの偽のデータを使用して1つのBeanを繰り返し作成し、保存する移行スクリプトを作成することを考えています。これにより、モデルに基づいてテーブル構造が再作成され、スクリプトによってテーブルが切り捨てられ、本番データがインポートされます。

モデルのどこかでデータベース構造を宣言する必要があるため、あまり洗練されていませんが、ゼロ構成でそれを実現することは不可能です。

于 2012-05-17T12:22:59.410 に答える