2

現在、Visual Studioデータベースプロジェクトを使用しているので、ワンクリックでデータベースに変更を展開し、データベースにデータを保持できます。

ここで、Entity Frameworkでモデルを作成し、ワンクリックでデプロイできるようにしたいと思います。

そこで、EntityFrameworkからデータベースを作成するためのSQLスクリプトを入手しました。このスクリプトを実行してデータベースを作成できますが、データをデータベースに保持したいと思います。

それを行う方法はありますか?それを行うツールはありますか?T4で自分で生成する必要がありますか?

CIを使用しているので、頻繁にデプロイできる必要があります。Visual Studioデータベースプロジェクトの展開に似ていますが、EntityFrameworkで生成されたデータベースを使用したいものが必要です。

4

2 に答える 2

2

Liquibaseはデータベース変更管理ツールです。これはJavaで実装されていますが、データベースのアップグレードを制御するためにコマンドラインバージョンを使用できます(.NETバージョンは開発中です)。

モデリングツールのサポートが必要な場合は 、 PowerArchitectをliquibase使用できます。

データベーススキーマのアップグレードの管理に関連する問題は微妙です。いくつかの背景を読むために私はお勧めします:

アップデート

データベースの詳細を保持するliquibase.propertiesというファイルを作成します。

url=jdbc:sqlserver://localhost:1433;databaseName=test
username=myuser
password=mypass
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath=C:\\Program Files\\Microsoft SQL Server 2005 JDBC Driver\\sqljdbc_1.2\\enu\\sqljdbc.jar
changeLogFile=database-changelog.xml

既存のデータベースに対してliquibaseを使用する場合は、次のコマンドを実行できます。

liquibase generateChangeLog
liquibase changelogSync

最初のコマンドは、抽出されたデータモデルを含むdatabase-changelog.xmlというXMLファイルを作成します。
2番目のコマンドはオプションですが、現在のデータベースに新しい変更を適用する場合に役立ちます。抽出されたチェンジセットを、データベースですでに実行されているものとしてマークします。

これで開始点ができたので、database-changelog.xmlファイルに新しいチェンジセットを追加することができます。これらの新しい変更を適用するには、次のコマンドを実行するだけです。

liquibase update

これは、新しいデータベースに使用するのと同じコマンドです。更新操作中に、liquibaseはXMLファイル内のチェンジセットをターゲットデータベースにすでに適用されているチェンジセットと比較します。

より高度なユースケースについては、liquibaseのドキュメントを読むことをお勧めします。次の回答も役立つ場合があります。

于 2012-10-05T19:30:17.223 に答える
0

EntityFrameworkModelからVisualStudioデータベースプロジェクトを生成できるようにするにはEntityDesignerDatabase GenerationPowerPackをインストールする必要があります。

データベースプロジェクトをソリューションに追加してから、同じ名前のedmxモデルを作成する必要があります。次に、edmxワークスペースを右クリックし、[モデルからデータベースを生成]および[生成]メニューの[データベースプロジェクトの同期]を選択します。

次に、このSQLプロジェクトをVisualStudioからSQLServerに展開できます。

于 2012-10-06T23:58:46.807 に答える