我有以下迁移文件 db\migrate\20100905201547_create_blocks.rb
如何专门回滚该迁移文件?
我在C#中使用EF 6.0进行手动迁移和更新.我在数据库上有大约5次迁移,但我意识到上次迁移很糟糕,我不想要它.我知道我可以回滚到先前的迁移,但是当我添加新的(固定的)迁移并运行Update-Database时,即使应用了错误的迁移.
我试图回滚到上一次迁移并删除迁移错误的文件.但是,当我尝试添加新的迁移时,我在更新数据库时遇到错误,因为迁移文件已损坏(更具体地说,第一行代码将表A重命名为B并且是下一行,EF正在尝试更新表名字A - 也许是一些EF错误).
是否有一些我可以运行的查询,这会告诉EF类似于"忘记上次迁移,就像它从未存在过,这很糟糕"?像删除迁移这样的东西.
Edit1
我找到了适合我的解决方案.将模型更改为良好状态并运行Add-Migration TheBadMigration -Force
.这将重新构建最后的,而不是应用的迁移.
无论如何,这仍然没有完全回答原来的问题.如果我将UpdateDatabase更改为错误的迁移,我没有找到如何回滚和创建新迁移的好方法,不包括坏迁移.
谢谢
我有一个SVN文件,现在缺少一些逻辑,所以我需要回到大约40次修改,当时它有我需要的逻辑.除了试图在命令行中查看文件的差异(非常难以阅读),无论如何我可以获得该文件的副本进行审查,以便我可以研究它来恢复部分?
这可能是一个微不足道的问题但是:由于ADO.NET实体框架会自动跟踪更改(在生成的实体中)并因此保留原始值,我如何回滚对实体对象所做的更改?
我有一个表单,允许用户在网格视图中编辑一组"客户"实体.
现在我有两个按钮"Accept"和"Revert":如果单击"Accept",我会调用Context.SaveChanges()
并将更改的对象写回数据库.如果单击"恢复",我希望所有对象获取其原始属性值.那个代码是什么?
谢谢
我在一个分支机构(即design
)工作,我做了一些更改,但我需要将它们全部丢弃并重置它以匹配存储库版本.我以为git checkout design
会这样做,但它只是告诉我,我已经在分支机构design
,我有3个修改过的文件.
我将如何丢弃这些更改并获得现在远程服务器上的分支?
我想回滚一下我最近在TFS中做出的改变.在Subversion中,这非常简单.然而,它似乎是TFS令人难以置信的头痛:
如何回滚到TFS中的先前变更集?
我在using语句中有一个IDbTransaction,但我不确定如果在using语句中抛出异常,它是否会被回滚.我知道using语句会强制调用Dispose()......但是有人知道Rollback()是否也是如此?
更新:此外,我是否需要显式调用Commit(),如下所示,还是由using语句处理吗?
我的代码看起来像这样:
using Microsoft.Practices.EnterpriseLibrary.Data;
...
using(IDbConnection connection = DatabaseInstance.CreateConnection())
{
connection.Open();
using(IDbTransaction transaction = connection.BeginTransaction())
{
//Attempt to do stuff in the database
//potentially throw an exception
transaction.Commit();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个ActiveRecord Object.But我在创建它时遇到此错误.
(0.1ms) ROLLBACK
ActiveRecord::StatementInvalid: PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
Run Code Online (Sandbox Code Playgroud)
关于这个问题的任何想法的人.
我有一个Mercurial存储库,我只在本地使用...这是我的个人用法(所以我不会"推"到任何地方).
我提交了3个文件,但之后我明白我应该提交4个文件...
有没有办法"回滚"我的最后一次(最新的,只有一次)提交,并"重新发送"它与正确的文件?
(我不知道为什么,但我的" 修改当前修订版 "选项不活动,所以我不能用它...)