问题标签 [rails-migrations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 3 在迁移问题中添加外键
有谁知道使用迁移在 Rails 3 中创建外键的方法?
mysql - 如何从 Rails 迁移(对于 MySQL)中获取更改的 sql 脚本?
我看过http://github.com/muness/migration_sql_generator,但它不能与 MySQL 一起正常工作以进行某些重要操作。有没有其他方法可以捕获在 Rails 迁移期间生成的 sql?
我问的原因是我无法在生产服务器上运行迁移,因为它是由我公司的技术支持人员维护的(并且从未被开发人员接触过)。开发人员向技术支持人员提供了一个 JRuby on Rails 战争文件,并通过 Tomcat 进行部署。但是说服技术支持来安装 JRuby 和 Rails 只是为了在生产环境中运行迁移绝对不是一件容易的事。我们希望保持部署非常简单,并且尽可能少的依赖。
我们只想为他们提供一个war文件和一个带有db更改的sql脚本。
ruby-on-rails - 如何修复损坏的 Rails 数据库迁移
由于我自己的愚蠢,我设法以某种方式使我的数据库处于损坏状态,并且无法弄清楚如何修复它。
问题始于我的一个数据库迁移中的错字。我正在添加一列并且拼错了我想要添加该列的表的名称。我运行了“rake db:migrate”,但它失败了。所以我去修正了错字并再次运行“rake db:migrate”,但什么也没发生。所以我想也许 rails 认为它已经完成了迁移,我运行了“rake db:rollback”,这似乎最终使事情变得复杂,因为它删除了我试图添加列的表。
所有这一切的最终结果是我的数据库版本现在与 rails 认为的不同步。我试过使用 'rake db:migrate:up' 和 'rake db:migrate:down' (带有版本号),但这没有帮助。即使我尝试显式运行创建问题表的迁移,也没有任何反应(如果我运行“向下”版本,它会告诉我它不能删除该表)。我知道我可以直接访问数据库并修补问题表,但我认为找出是否有针对此问题的“适当”解决方案会很好。
非常感谢
ruby-on-rails - 如何在活动记录模型上执行“移动字段”重构
这是一个相当常见的重构,Martin Fowler 称之为“移动域”。给定 3 个模型:
如何重构(包括迁移)从 Person 到 ContactDetails 的 has_one 地址?之后模型将如下所示:
ruby-on-rails - 无法更新我的 Rails 数据库迁移中的记录
例如我有以下迁移
当我运行这个(使用rake db:migrate
)时,我收到以下消息
如果我立即再次运行迁移,update_all
调用似乎可以工作。
我正在使用 Rails 2.3.5 和 sqlite3。
是什么赋予了?
ruby-on-rails - ActiveRecord 数据类型的文档页面在哪里?
我找不到包含所有数据类型列表的活动记录文档页面。
有人可以帮我吗?
mysql - 使用带有rails迁移的mysql创建多列不同索引
尝试在 rails 迁移中执行此语句以生成多列唯一约束/索引:
我也尝试为该方法提供一个可选的 :name ,但仍然失败。此表中没有现有键
如果不使用执行和直接 sql,我该如何创建?谢谢。
ruby-on-rails - 如何在 Rails 中回滚单个迁移文件?
我只想撤消一个迁移文件,例如
耙分贝:回滚版本=$TIMESTAMP
该命令不起作用。有什么建议吗?
ruby-on-rails - 在多个数据库上运行迁移/架构转储错误
对于访问错误数据库的表的简单迁移的 db:schema:dump 部分失败,任何人都有解决方法(没有猴子修补导轨)?我得到错误
* Mysql::Error: View 'database1.boxscores' 引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权限:SHOW FIELDS FROM boxscores
*
当 boxscores 在 database2 上时。ActiveRecord 模型设置为建立连接并且应用程序工作正常,只是迁移失败,并且只有模式转储的 b/c。
ruby-on-rails - Rails:如何使用 Rails 在子目录中创建迁移?
我正在编写一个 SaaS 模型应用程序。我的应用程序数据库由两个逻辑部分组成:
- 应用程序表 - 例如用户、角色...
- 用户定义的表(他可以从 UI 级别生成它们)对于每个应用程序实例可能不同
所有表都是由 rails 迁移机制创建的。
我想将用户定义的表放在另一个目录中:
- db/migrations - 应用程序表
- db/migrations/custom - 用户生成的表
所以我可以在 db/migrations/custom 上执行 svn:ignore,当我在客户端服务器上更新我的应用程序时,它只会更新应用程序表迁移。
有没有办法在rails中实现这一点?