1

プログラマー以外のエンド ユーザーが自分でアプリケーションをインストールできるようにする必要があるアプリを作成しています。

ruby env + Web サーバー + データベースのインストール部分はすでに処理済みです。次に、アプリのデータベースをセットアップできるようにする必要があります。rake db:setupを InstallationController 内で実行することを考えています(インストール プロセス中にのみアクセスできます)。

出来ますか?どうやってやるの?

Warble と JRuby を使用する予定なので、アプリ内のコマンドラインを使用して行うことはできません。

4

2 に答える 2

4

データベースが存在する (または sqlite3 のように使用時に作成する) 限り、アプリに初期化子をスローして、移行を非常に簡単に実行できます。

ActiveRecord::Migrator.migrate(Rails.root.join('db','migrate'))
于 2011-12-20T23:29:25.253 に答える
3

データベースが正しく設定されていないと、コントローラーを使用できません。セットアップが Web インターフェイスを介して行われる必要がある場合は、DB の作成、移行などを処理する小さな Sinatra アプリケーションを含めることができます。これを行うには、コマンドをシェルアウトするだけです (コマンドをバッククォートすることで実行できます)。 :

puts "Migrating database..."
`rake db:migrate`
于 2011-12-20T22:56:13.750 に答える