会社には、1 つのデータベースを使用して 1 つの会社のみをサポートする ERP アプリケーションがあります。同じコードを使用して複数の会社と複数のデータベースをサポートするアプリケーションを作成するにはどうすればよいですか?
アプリケーションは PHP で、データベースは MySQL です。
ありがとう。
アプリケーションのアーキテクチャと DB 構造に完全に依存します。リファクタリングが難しすぎる場合、解決策は ERP の複数のインスタンスを持つことです。また、ERP (会社の機密情報を含む) であるため、クライアントが同じマシンに他の会社の財務情報を保存しないようにするために、インスタンスを異なるサーバーにインストールする必要がある場合があります。
1 つの「大きな」サーバーを仮想化できます。複数のサブドメインからのリクエストを仮想ゲストにリダイレクトするリバース プロキシを用意することをお勧めします。また、Apache、PHP、および ERP がインストールされた仮想化サーバーのテンプレートを仮想化ホストにインストールする準備を整えることもできます。クライアントが製品を購入すると、その仮想ゲストをインストールしてオンにし、クライアント アクセスを提供するだけです。
2 台目のサーバーに再インストールできます。もちろん、それを行うライセンスを持っている場合。どのERPアプリケーションですか?
編集:
当社の ERP 製品では、URL の一部を使用してデータベースを区別しています。例えば
http://myserver.com/company1/customers
対
http://myserver.com/company2/customers
ドキュメントに埋め込まれたすべての URL は相対 URL であるため、同じ会社内にとどまります。