MySql数据库中的实体框架代码优先迁移

希汉姆

我使用实体框架创建代码优先模型,在将第一个版本安装到客户端后,我们发现数据库列发生了一些变化,我使用了Entity Framework的迁移,并且您应用了所有迁移步骤,因此客户端的数据库不存在迁移历史记录的行。最后更改,并在执行时显示此消息

Table 'nameTable' already exists

或者

Additional information: Duplicate column name 'Reference'

该类配置代码

 internal sealed class Configuration : DbMigrationsConfiguration<GSM.DataAccess.GSMContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = false;
        SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());  
    }

    protected override void Seed(GSM.DataAccess.GSMContext context)
    {

    }
}

以及此类首次迁移的代码

public partial class AddMoreInformationColumn : DbMigration
{
    public override void Up()
    {

            AddColumn("dbo.People", "Reference", c => c.String(unicode: false));
            AddColumn("dbo.Products", "Reference", c => c.String(unicode: false));
            AddColumn("dbo.Products", "SalePrice", c => c.String(unicode: false));
            AddColumn("dbo.Products", "WholePrice", c => c.String(unicode: false));


    }

    public override void Down()
    {

            DropColumn("dbo.People", "Address");
            DropColumn("dbo.People", "Reference");
            DropColumn("dbo.Products", "Reference");
            DropColumn("dbo.Products", "SalePrice");
            DropColumn("dbo.Products", "WholePrice");

    }
}
史蒂夫·格林

对于当前问题,客户端迁移快照似乎不同步。您可以在Up()方法中注释掉冲突的代码,然后执行更新数据库以使它们恢复同步。如果您担心缺少更改,则需要使用架构比较工具(http://www.techbubbles.com/sql-server/schema-compare-for-sql-server-in-visual-studio-2013/)。

我会重新考虑您的更新客户端(PRODUCTION)数据库的策略。我们要做的是从客户端站点上运行的迁移中生成脚本,以对其进行更新。请参阅:http : //cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=per-12&at_pos=0&at_tot=1

您还必须考虑数据库初始化程序是什么,并将其设置为null或migrationtolatestversion进行部署。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用现有数据库的实体框架代码优先迁移策略

来自分类Dev

使用实体框架代码优先迁移添加数据库触发器

来自分类Dev

如何更新实体框架7迁移和数据库-代码优先

来自分类Dev

实体框架代码优先迁移总是尝试创建新数据库

来自分类Dev

在不同的数据库上运行实体框架代码优先迁移

来自分类Dev

代码优先实体框架未保存到数据库

来自分类Dev

实体框架代码优先定义数据库名称

来自分类Dev

将代码优先实体框架指向创建的数据库

来自分类Dev

实体框架。多个DbContext多个数据库。MySQL的。代码优先

来自分类Dev

在实体框架中使用数据库优先实体和代码优先实体

来自分类Dev

实体框架代码优先中的数据库初始化

来自分类Dev

Web ApI实体框架(代码优先)值未出现在数据库中

来自分类Dev

使用实体框架创建其他类(数据库中的代码优先)

来自分类Dev

如何从实体框架中的数据库多对多映射解决代码优先?

来自分类Dev

实体框架使用数据库或代码优先模型中不存在的列生成sql

来自分类Dev

实体框架代码优先(新数据库)产生错误-“数据库'master'中的CREATE DATABASE权限被拒绝。”

来自分类Dev

使用实体框架的最佳方法(数据库优先,模型优先,代码优先)

来自分类Dev

是否可以将数据库优先模型和代码优先模型与实体框架混合使用?

来自分类Dev

实体框架5,从代码优先切换到数据库优先?

来自分类Dev

尝试实体框架代码优先;用法与数据库优先有什么不同吗?

来自分类Dev

在代码优先现有数据库中的实体框架中以多对多关系更新数据

来自分类Dev

在代码优先现有数据库中的实体框架中以多对多关系更新数据

来自分类Dev

如何在数据库优先实体框架中更新模型时防止DbContext中的代码删除

来自分类Dev

实体框架代码优先库和数据库更新的含义

来自分类Dev

实体框架代码优先在服务器资源管理器中找不到数据库

来自分类Dev

实体框架:无法更改代码优先迁移的数据源

来自分类Dev

如何先使用代码在不进行迁移的情况下在实体框架中应用数据库架构更改

来自分类Dev

实体框架5代码优先而不创建数据库

来自分类Dev

实体框架代码优先从数据库不添加键属性

Related 相关文章

  1. 1

    使用现有数据库的实体框架代码优先迁移策略

  2. 2

    使用实体框架代码优先迁移添加数据库触发器

  3. 3

    如何更新实体框架7迁移和数据库-代码优先

  4. 4

    实体框架代码优先迁移总是尝试创建新数据库

  5. 5

    在不同的数据库上运行实体框架代码优先迁移

  6. 6

    代码优先实体框架未保存到数据库

  7. 7

    实体框架代码优先定义数据库名称

  8. 8

    将代码优先实体框架指向创建的数据库

  9. 9

    实体框架。多个DbContext多个数据库。MySQL的。代码优先

  10. 10

    在实体框架中使用数据库优先实体和代码优先实体

  11. 11

    实体框架代码优先中的数据库初始化

  12. 12

    Web ApI实体框架(代码优先)值未出现在数据库中

  13. 13

    使用实体框架创建其他类(数据库中的代码优先)

  14. 14

    如何从实体框架中的数据库多对多映射解决代码优先?

  15. 15

    实体框架使用数据库或代码优先模型中不存在的列生成sql

  16. 16

    实体框架代码优先(新数据库)产生错误-“数据库'master'中的CREATE DATABASE权限被拒绝。”

  17. 17

    使用实体框架的最佳方法(数据库优先,模型优先,代码优先)

  18. 18

    是否可以将数据库优先模型和代码优先模型与实体框架混合使用?

  19. 19

    实体框架5,从代码优先切换到数据库优先?

  20. 20

    尝试实体框架代码优先;用法与数据库优先有什么不同吗?

  21. 21

    在代码优先现有数据库中的实体框架中以多对多关系更新数据

  22. 22

    在代码优先现有数据库中的实体框架中以多对多关系更新数据

  23. 23

    如何在数据库优先实体框架中更新模型时防止DbContext中的代码删除

  24. 24

    实体框架代码优先库和数据库更新的含义

  25. 25

    实体框架代码优先在服务器资源管理器中找不到数据库

  26. 26

    实体框架:无法更改代码优先迁移的数据源

  27. 27

    如何先使用代码在不进行迁移的情况下在实体框架中应用数据库架构更改

  28. 28

    实体框架5代码优先而不创建数据库

  29. 29

    实体框架代码优先从数据库不添加键属性

热门标签

归档