这是一个有关asp.net mvc 5中代码优先迁移的稍微奇怪的问题。我有一个正在进行的项目,我使用手动迁移来更新我的数据库。如果我做任何事情,在我的模型改变了数据库结构,然后我进入包管理器控制台,然后输入我可以在ASP.NET MVC中重命名代码优先迁移5
add-migration "MigrationName"
但一路走来,我已经叫我的两个迁移错了名字的。我想更正每个名称,但是我想确保这不会影响它们的完整性,我只打算重命名文件名的第二部分(描述性部分)而不是时间戳。
比如我有以下名字:
201411190809335_CreateStageTypeRender
但它应该已经阅读
201411190809335_CreateSeatingTypeRender
,如果我没有在未来,现在改名字,我可能目标因为我将其命名为错误,因此意外移民。
看来,如果在它不是一个重要项目的情况下,我将它们重命名过,那个视觉工作室就会重命名任何子文件(.cs,.resx)。所以看起来这不会是一个问题,再加上时间戳会保持同步,以便让它们保持有序。
问:还有什么我应该考虑的。重命名迁移文件名的描述部分可以吗?
BTW ..我也可以去Designer.cs文件中,并从命名获取返回值:
public sealed partial class CreateStageTypeRender : IMigrationMetadata
private readonly ResourceManager Resources = new ResourceManager(typeof(CreateStageTypeRender));
string IMigrationMetadata.Id
{
get { return "201411190809335_CreateStageTypeRender"; }
}
到
public sealed partial class CreateSeatingTypeRender : IMigrationMetadata
private readonly ResourceManager Resources = new ResourceManager(typeof(CreateSeatingTypeRender));
string IMigrationMetadata.Id
{
get { return "201411190809335_CreateSeatingTypeRender"; }
}
最后,我已经进入了数据库,并更名与旧迁移名称相对应的记录,并将其更改为反映新迁移名称。否则,我认为EF/Visual Studio会认为有没有新的迁移。
我想我已经覆盖了所有的基地。如果您认为我错过了任何东西,或者由于某种原因这不是一个好主意,请告诉我。
你有过这种技术的任何问题,因为你第一次尝试过吗? – madamission 2015-07-19 12:31:52
但是我没有遇到任何问题,我也从未针对这些迁移。我认为最终的测试将是开始一个新项目,快速设置数据库并进行一些迁移,然后返回并手动重命名它们,进行更多迁移和更新,然后尝试回滚到其中一个重命名的迁移。那怎么样,我们哪个人可以先找到时间来做这件事,回到这里并留下评论。地狱,如果你这样做,你可以回答这个问题。 – 2015-07-20 13:28:59
ok听起来不错,我会给它一个镜头... – madamission 2015-07-20 17:43:59