1

私は以前にローカルホスト専用のRoRアプリケーションを作成しました。このアプリケーションでは、モデルがモデル用に生成されたスキャフォールドを使用して手動で作成され、データ用の優れた、迅速で使いやすいCRUDインターフェイスが作成されました。私はSQLiteを使用してNetbeansでこれを行いました。

これで、MySQLデータベースを備えたサーバーができました。データベース内のデータをすばやく簡単に表示し、編集/削除などのオプションを提供するクイックCRUDアプリケーションを作成したいと考えています。私のデータベースはすでにMySQLによって指定されているので、これは大量のワームの缶を開くように見えます。これは、RoRでスキャフォールドによって生成されたクラッドWebアプリへの私のNetbeansベンチャーと比較してはるかに簡単ではありません。

現在のデータベースのスキーマをダンプし、db:rakingしてから、スキャフォールドを生成することを検討しました。これは正しいアプローチですか?MagicModelGeneratorについても読みました。これは、MySQLデータベースをRoRモデル形式にするための最良の方法ですか?http://magicmodels.rubyforge.org/magic_model_generator/

私が求めているのは、私のデータベース構造について、データで基本的な操作を実行できるように、RoRがクイックCRUDWebアプリをモックアップするのに適しているかどうかです。

以下は私のMySQLデータベースのschema.rbです。userIdとattachmentIdにはFK関係があります。

ActiveRecord::Schema.define(:version => 0) do

  create_table "attachments", :primary_key => "attachmentId", :force => true do |t|
    t.string "attachmentName",               :null => false
    t.string "fileType",       :limit => 30, :null => false
    t.binary "content",                      :null => false
    t.string "printCode"
  end

  create_table "emails", :primary_key => "emailId", :force => true do |t|
    t.integer "userId",       :limit => 11,   :null => false
    t.integer "attachmentId", :limit => 11,   :null => false
    t.string  "body",         :limit => 1000
    t.string  "subject"
  end

  add_index "emails", ["attachmentId"], :name => "attachmentId", :unique => true
  add_index "emails", ["userId"], :name => "userId"

  create_table "printUsers", :primary_key => "userId", :force => true do |t|
    t.string "email", :null => false
  end

  add_index "printUsers", ["email"], :name => "email", :unique => true

end
4

1 に答える 1

1

既存のデータベースでレールを使用するには、いくつかのアプローチがあるようです。「レールを既存のpostgresDBに接続する-コンソールとコントローラーに表示されないモデル、特にそこからのリンク」を参照してください:http: //magicmodels.rubyforge.org/magic_model_generator/およびhttp://blog.aizatto.com/2007/05/ 21 / activerecord-without-rails /

レールでActiveRecordを使用する必要がないことを指摘しておくとよいでしょう。モデルは任意のオブジェクトにすることができるため、データにアクセスするために続編アレルなどを使用する方が簡単な場合があります。

もう1つのアプローチは、既存のデータベースからモデルをスキャフォールディングして生成する新しいデータベースにデータを移行することです。

于 2012-04-25T03:22:53.113 に答える