2017-04-21 2 views
0

私はRuby世界のRailsエンジンのような、他の複数のプロジェクトの中核として機能するプロジェクトを構築しています。依存関係の外部移行をどのように実行できますか?

私はコアプロジェクトに基本的なデータベース構造を実装していますが、基本的な構造は全面的に共有されています。

私の問題は、自分のコアを使用しているプロジェクトが、コアプロジェクトの移行を登録していないことです。

コア依存関係の移行を実行する方法はありますか?

詳細情報が必要な場合はお知らせください。 :-)

あなたは

+0

これは傘アプリケーションの場合、私はコアプロジェクトに 'cd'して移行を実行します。また、コアプロジェクトのマイグレーションを必要なプロジェクトにコピーすることもできます。これを行うには、ミックスタスクを作成する価値があります。 –

+0

プロジェクトの構造に関する詳細を教えてください。具体的には、依存関係をどのように扱いますか?あなたは傘のアプリを使用していますか、または彼らはdepsとして含まれている別々のパッケージですか? –

+0

これはUmbrellaアプリではありません。gitからフェッチされたミックスファイルに依存関係を追加するだけです。私は、コアプロジェクトを使用する予定のプロジェクトとして、Umbrellaアプリケーションを作成するのは意味がないとは思わない。 :) – MartinElvar

答えて

1

あなたはカスタムタスクでEcto.Migratorモジュールを使用することができるはずですありがとうございました。 詳細については、running-migration-in-an-exrm-releaseを参照してください。

defmodule Release.Tasks do 
    def migrate do 
    {:ok, _} = Application.ensure_all_started(:my_dependency) 

    path = Application.app_dir(:my_dependency, "priv/repo/migrations") 

    Ecto.Migrator.run(MyApp.Repo, path, :up, all: true) 

    :init.stop() 
    end 
end 
関連する問題