1

現在、Raven DB ドキュメントをレポート目的で SQL にレプリケートするために、SQL レプリケーションを設定しています。これまでのところ、すべてがうまく機能しています。ただし、曜日の配列を含むドキュメントを保存しようとしています。

ドキュメントは Raven で次のように表示されます。

{
  "ClientId": "clients/385",
  "Description": "Test",
  "IsOneOff": false,
  "RecursEveryWeeks": 1,
  "StartDate": "2013-03-19T00:00:00.0000000",
  "TaskStartTime": "12:00:00",
  "TaskDuration": 120,
  "TaskEndTime": "14:00:00",
  "AdditionalResources": false,
  "AdditionalVisitType": "TestType",
  "BillableTo": "Private",
  "RecurrenceEndDate": "2013-04-30T00:00:00.0000000",
  "DaysOfWeek": [
    "Monday",
    "Tuesday",
    "Wednesday",
    "Friday",
    "Saturday"
  ]
}

SQL レプリケーションでは、次のことを行いました。

sqlReplicate("AdditionalVisit", "AdditionalVisitId", {
       ClientId: this.ClientId,
       Description: this.Description,
       IsOneOff: this.IsOneOff,
       RecursEveryWeeks: this.RecursEveryWeeks,
       StartDate: this.StartDate,
       TaskStartTime: this.TaskStartTime,
       TaskDuration: this.TaskDuration,
       TaskEndTime: this.TaskEndTime,
       AdditionalResources: this.AdditionalResources,
       AdditionalVisitType: this.AdditionalVisitType,
       BillableTo: this.BillableTo,
       RecurrenceEndDate: this.RecurrenceEndDate,
       DaysOfWeek: this.DaysOfWeek
});

DaysOfWeek を SQL レプリケーションから除外すると、これらすべてが正常に機能しますが、除外するとサーバーがクラッシュします。

配列内のすべてが SQL の DaysOfWeek 列に保存されるように、SQL レプリケーションでこれをどのように行う必要がありますか?

4

1 に答える 1

1

私はこれをテストしていませんが、それはあなたが望むものに沿っています...これを現在のスクリプトの最後に追加するだけです.

for (var i=0; i<this.DaysOfWeek.length; i++) {
    var day = this.DaysOfWeek[i];
    sqlReplicate('AdditionalVisit_DaysOfWeek', 'AdditionalVisitId', {
        AdditionalVisitId: documentId,
        DayOfWeek: day,
    });
}

ちなみに、現在 RavenDb 2.1 の SqlReplication には、削除が SqlReplication にプッシュされないというバグがあり、2.5 ブランチで修正される予定ですが、それが実現するために取り組む必要がある他の問題がまだいくつかあります。使用可能。

于 2013-03-19T15:03:30.870 に答える