网上很多都是讲开发过程中如何使用code first 进行开发迁移的,没有一个人能给出正式站点如何更新的,小弟猜想是否有什么命令工具可以直接在服务器上执行的,望赐教。现在想想code first就是个坑爹的东西
更新正式正式站点本人现在都是用下面两种方式更新。
1:直接连接到正式数据库,这种方式非常的坑爹,不一定允许直接访问正式数据库,在对应的web站点服务器安装一个vs,这种方式非常傻逼吧
2:备份正式站点数据库,拿到本机还原一个,把正式站点关闭,风险大啊,别人访问不了。建议访问量不大的可以考虑这个方案。
VS的控制台管理器,使用enable-migration命令启用移植,然后使用add-migration命令添加数据移植命令,最后使用update-database执行更新(执行移植命令)。
add-migration命令会生成脚手架,一个up一个down共两个方法,两个方法都是在执行update-database时执行,区别是:update-database能执行添加与回滚(使用get-help获取帮助),新增执行up命令,回滚执行down命令。
大侠,不知道看懂问题木有?我说的是更新正式数据库。
@沦落的伤心人: 你是说你相对于正式数据库,通过EF做了些修改吧?通过这个方法一样的能达到目的。
@519740105: 不知道是我描述有问题还是你理解有问题,你见过哪家公司的正式数据库vs字符串链接中能直接访问正式数据库的。都不能连接数据库你怎么更新正式数据库字段?
@沦落的伤心人: 你都不能直接连接数据库,你的代码存在对数据库的操作有什么价值?至少,必须能直接连接数据库,你才有使用EF的价值。
如果你不能直接连接数据库处理,那么:
1、只能通过备份还原来达成目的了。
2、在能直接连接数据库的地方安装个VS来解决
3、EF的数据迁移是一个工具,不是非要寄宿与VS才能使用。
假如其他开发人员的计算机上也需要这些更改,则在我们将所做的更改签入源代码管理后,他们只需执行同步操作即可。在他们得到我们的新迁移后,即可运行 Update-Database 命令在本地应用这些更改。不过,如果希望将这些更改推送到测试服务器并最终应用于生产,我们可能希望向 DBA 提交一个 SQL 脚本。
Code First 迁移将运行迁移管道,而不是实际应用更改,它会自动将更改写出到一个 .sql 文件。生成脚本后,将会自动在 Visual Studio 中打开它,以供您查看或保存。
将生成的sql脚步去服务器执行就ok了
具体参考:http://msdn.microsoft.com/zh-cn/data/jj591621.aspx