質問: 私たちは、各環境(例えば、 "dev"、 "test"、 "prod")ごとに異なるデータベーススキーマ名を使用しており、Entity Frameworkコアを使って移行を設定しようとしています。 私が最初にやったのは、 `Add-Migration Init` 。これは、期待どおりに初期スキーマの移行を作成しました。ただし、この移行ではスキーマ名がハードコードされます。 ``` migrationBuilder.EnsureSchema( name: "dev"); migrationBuilder.CreateTable( name: "MyTable", schema: "dev", columns: table => new ... ``` 私は、環境変数に基づいてスキーマ名を使用するために、 `dotnet ef`によって生成されたマイグレーションファイルを変更することができたと思いますが、もし可能であれば、これらの自動生成ファイルを変更したくないでしょう。 環境固有のスキーマ名を使用する他の方法はありますか?
回答: MS SQL Serverは、ユーザーの`default_schema`をサポートしています 。 異なるデフォルトスキームを持つ異なるユーザーを作成することもできます(また、このユーザーの「他の」スキームへのアクセスを制限することもできます)。