|
2
|
| Blaine Lafreniere · 技术社区 · 16 年前 |
|
|
1
1
快捷方式:手动为表示基线的时间戳向模式迁移添加一个条目。您可以在这之后添加迁移,只要它们对DB模式不做任何错误的假设,它们就可以正常运行。你不能向后迁移,但这不是一个大问题。 更大的问题是,你将无法从零开始制作数据库,这将是一个长期的痛苦。 解决方法是删除所有现有迁移,并创建一个创建现有架构的新迁移。手动删除schema_migrations表中的所有内容,并为此新迁移输入一个条目。之后,您可以创建基于这个新基线的新迁移,它们应该可以很好地应用。您应该能够以正常的方式引导新的数据库。 只要您的直接SQL包含在Rails迁移中,就可以使用它。只要确保你同时实现了向上和向下的方法,你就应该是好的。实际上,我们已经采用原始SQL作为最佳实践,以避免稍后更改模型时出现问题。类似的东西
似乎无害,直到用户模型被修改为
此时,新的迁移将针对现有数据库运行,但是之前创建表并添加虚拟条目的迁移将失败,因为用户验证失败。只是使用
只要以后的迁移正确地填充它们添加的任何新列,就可以正常工作。 |
|
|
2
1
也许你可以摆脱目前所有的迁移,然后使用
|
|
|
3
0
我喜欢Veeti的建议,并进行了修改:rake db:schema:dump,然后将该文件移到您的开发机器上。扁平化您的Rails迁移(请参见 this SO thread on that ,根据新的模式,去掉大部分迁移,重新工作迁移。 在您的开发机器上运行这个,提交和部署。 |
|
|
4
0
如果现有的生产数据与开发数据库模式兼容,那么我将:
如果模式不兼容,那么您可能可以遵循此过程,但是您必须在第一步创建的文件中编辑SQL,以考虑模式差异。 |
|
|
Community wiki · Sql 2005备份和架构更改交互 2 年前 |
|
|
John Ervin · 架构优先。NET Graphql未解析MVE 2 年前 |
|
|
Jakub Mosakowski · Xml架构唯一性不检查唯一性 8 年前 |
|
|
nrs · 如何验证json的结构? 8 年前 |