ruby-on-rails - Rails rake db:migrate 选项不覆盖现有表
问题描述
如果它们具有相同的架构,是否有rake db:migrate
防止 rake 覆盖现有表的选项?我还将接受一个选项,该选项可以防止覆盖现有表而不管架构如何。我原以为不覆盖将是默认设置,并且需要一个--force
标志才能这样做。
解决方案
在迁移中,您可以在执行代码之前检查表或列是否存在:
unless table_exists?(:test)
# do something
end
unless column_exists?(:test)
# do something
end
推荐阅读
- docker - 如何在 Jenkins 中自动创建节点?
- javascript - 淡入/淡出数组循环停止
- android - 将文件从外部存储复制到android外部存储中的另一个路径
- nlp - 哪种方法最适合在语句中进行紧急检测(自然语言处理)?
- html - 将空格分隔符添加到仅输入类型号的输入
- java - 是否可以将参数动态传递给 TestNG 函数并在并行执行中使用它?
- reactjs - 为什么在构建后不工作 react-router-dom?
- ios - AFNetworking 3.0 AFHTTPSessionManager 使用 NSURLRequest
- html - 如何并排制作带有图像和文本的部分
- java - Spring Boot,在 REST 响应中将日期时间精度定义为毫秒