最近、クラス(通知)の一部のプロパティを変更しました。 私はupdate-databaseコマンドを実行しましたが、テーブル 'xxx.dbo.notifications'が存在しないというエラーが発生しました。MySqlデータベースのupdate-databaseを実行中にエラーが発生しました:テーブル 'xxx'が存在しません
テーブルはまだありますが、なぜこのエラーが発生しますか?
編集:移行コード
public override void Up()
{
DropForeignKey("dbo.Notifications", "PaymentId", "dbo.Payments");
DropIndex("dbo.Notifications", new[] { "PaymentId" });
AddColumn("dbo.Notifications", "ProductOptionId", c => c.Int());
AlterColumn("dbo.Notifications", "PaymentId", c => c.Int());
CreateIndex("dbo.Notifications", "PaymentId");
CreateIndex("dbo.Notifications", "ProductOptionId");
AddForeignKey("dbo.Notifications", "ProductOptionId", "dbo.ProductOptions", "Id");
AddForeignKey("dbo.Notifications", "PaymentId", "dbo.Payments", "Id");
}
public override void Down()
{
DropForeignKey("dbo.Notifications", "PaymentId", "dbo.Payments");
DropForeignKey("dbo.Notifications", "ProductOptionId", "dbo.ProductOptions");
DropIndex("dbo.Notifications", new[] { "ProductOptionId" });
DropIndex("dbo.Notifications", new[] { "PaymentId" });
AlterColumn("dbo.Notifications", "PaymentId", c => c.Int(nullable: false));
DropColumn("dbo.Notifications", "ProductOptionId");
CreateIndex("dbo.Notifications", "PaymentId");
AddForeignKey("dbo.Notifications", "PaymentId", "dbo.Payments", "Id", cascadeDelete: true);
}
編集:私は、エラーが発生する前に変更を元に戻します。モデルにProductOptionIdプロパティーを追加し、マイグレーションを追加し、データベースを正常に更新しました。
PaymentIdプロパティをnull可能に変更しているときに問題が発生しているようです。
それは意味がありますか?
に移行した同じデータベースに審判されていることを確認した後、データベースに作成されていることを確認しますms sql serverです。 – Shadow
@Shadowあなたはそれをどう思いますか? –
'xxx.dbo.notifications' - MySQLでは、' xxx.notifications'テーブル、または 'xxx.dbo'テーブルを持つことができますが、パスに3つの要素を持つことはできません。テーブルはデータベース(スキーマ)にのみ関連しています。 – Shadow