2017-01-19 2 views
1

私は最近、ServiceStack REST API経由でMicrosoft SQLデータベースからDAOsを公開する.Netプロジェクトを採用しました。サーバーは、私は今DAOを拡張(したがってのためのテーブルに新しい列を追加したい場合はAppHost.Configureでは、完全なデータベーススキーマがそのように...ベストプラクティス - ServiceStack.OrmLite .NETプロジェクトでDBを拡張する方法

var dbFactory = new OrmLiteConnectionFactory(DI.DefaultConnectionString, SqlServerOrmLiteDialectProvider.Instance); 
     using (var db = dbFactory.OpenDbConnection()) 
     { 
      if (!db.TableExists(db.GetTableName<SomeSpecificDAO>())) //Create table if not exists 
      { 
       db.CreateTable<SomeSpecificDAO>(); 
       db.Insert(new SomeSpecificDAO { Data = 0, AnotherData = "", AnSoOne = }); 
      } 

     /// alot more tables follow.... 
     } 

ように作成されたIIS 7.5

上で実行されます例)私はVisual Studioでこれを行い、テストし、正常に機能していれば、データベースのデータを失いたくないので、ライブテストサーバーにMicrosoft SQL Server Management Studioを介してリモートで列を追加します。これは、追加するカラムが1つだけの場合にはそれほど高速ではなく、追加されたテーブル/カラムが多い場合は非常に面倒です。セルのデータ型が変更されます。

Visual Studioとテストシステムでデータベースを更新する際のベストプラクティスは何ですか? DAOだけを拡張してデータベースを更新する "コードファーストアプローチ"も可能ですか?

答えて

1

このexisting thread in the ServiceStack Customer Forumsでは、dbスキーマの変更を処理するさまざまな方法について説明しています。

+0

DbUpは私が探していたものだと思います。私が理解している限り、これは私がDbUpをDBスキーマの設定にも使用していることを意味しています。私はこの質問で説明したので、サーバーにアプリケーションを公開するときに展開される移行スクリプトしかありません。 – zlZimon

関連する問題