0

私は、各ユーザーが別々のデータベースを持っているRailsアプリケーションを持っています。(これに関するジョエル・スポルスキーのアドバイスを受けています)。RailsアプリケーションからDB移行を実行して、このユーザーの新しいデータベースとテーブルを作成したいと思います。

これを行う最も簡単な方法は何ですか?

たぶん、dbの移行はこの種のことには最適ではありません。ありがとう!


それが完全に自動化されたプロセスであることができれば、それは素晴らしいことです。次のプロセスが理想的です。

  1. ユーザーがこのWebアプリを使用するために私たちのサイトにサインアップします
  2. このユーザーデータベースを作成し、テーブルを正しくセットアップするために移行が実行されます

Rubyアプリケーションからrakeタスクを呼び出す方法はありますか?

4

3 に答える 3

1

ユーザーごとに個別の構成ファイルを使用します。したがって、config / dirには、個人のデータベースに接続するroo.database.ymlがあり、それをrailsで使用されるdatabase.ymlファイルにコピーします。

Rails Rakefileを拡張して、開発者を環境変数として指定できるようにすることを考えていました。これにより、特定のdatbase構成が選択され、database.ymlファイルを1つだけ持つことができます。上記の方法で十分に機能するため、これは行っていません。

于 2008-09-02T06:27:10.537 に答える
1

質問の一部に答えるために、Rails コード内から rake タスクを実行する方法を次に示します。

require 'rake'
load 'path/to/task.rake'

Rake::Task['foo:bar:baz'].invoke

ユーザーごとに 1 つのデータベースを使用する方法 (または理由) がわかりません。

于 2008-09-02T16:51:01.660 に答える
0

実際、アプリケーションから DB 移行を実行する良い方法を発見しました。

ActiveRecord::Migrator.migrate("db/migrate/")

于 2008-09-04T18:59:08.200 に答える