问题标签 [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.

0 投票
1 回答
241 浏览

mysql - rake db:migrate 清除我的数据库

我有一个从 PHP/symfony 移植到 Ruby/Rails 的应用程序。尽管语言在变化,但无需以任何方式修改数据库(MySQL)。

因为我已经定义了我的数据库,所以我没有理由为每个表单独创建一个 Rails 模型并手动指定每个模型的属性。鉴于我的数据库的大小,这将是荒谬的。

因为我不需要单独创建模型,所以我schema.yml是空白的。因为schema.yml是空白的,运行rake db:migrate会清除我的数据库。(至少我认为这是原因。我可能是错的。)

谁能推荐一种处理这种情况的方法,我有一个现有的数据库,但我不想手动重新定义 Rails 的每个表?

0 投票
3 回答
196 浏览

ruby-on-rails - 如何在 Rake 脚本中增加一个值?

如何将此:project_pages_id => 1值更改为自动递增?

0 投票
2 回答
2103 浏览

mysql - 如何从 MYSQL 数据库实例自动生成 Rails 迁移类?

我有数据库脚本,可以创建包含 100 多个表和大量数据的数据库。为整个数据库创建 Rails 迁移类对我来说是一项乏味的任务。但我认为 Rails 迁移是长期数据库变更管理的一个不错的选择。请提出一些从 MYSQL 数据库实例自动生成 Rails Migrate 类的方法。

0 投票
2 回答
4115 浏览

ruby-on-rails - Rails 是否允许您从命令行生成 HABTM 迁移?

每当我不得不在 Rails 中执行HABTM时,我总是想知道是否可以从命令行生成所需的迁移。

我希望通过做这样的事情来节省时间:

上面的代码不起作用,它的几个变体也不起作用(有和没有 id:false 指令)

0 投票
2 回答
3189 浏览

ruby-on-rails - 使用 rake db:migrate straight, vanilla SQL

rake db:migrate使用加载 vanilla SQL会涉及哪些问题?

我正在处理的业务需求不允许我使用默认的 Rails 迁移。但我仍然需要跟踪更改、轻松更改数据库 DDL 以及 Rails 迁移提供的其他内容。

所以迁移文件看起来像:

0 投票
2 回答
4507 浏览

ruby-on-rails - 在仅数据迁移期间绕过验证以修复验证错误

在 Rails 中,我有迁移以更改生产数据以适应新的验证规则,有几处错误,所以我有 2 个不同的迁移(它们可能是一个,但仍然是两个单独运行的方面)一个失败,因为另一个验证没有得到满足,反之亦然反之亦然

验证在模型中是新的,例如

一种是全新的,另一种只是从24改为8并添加了超时位

我尝试重新排序迁移,但得到了相反的结果。

除了先更新数据库然后更新此文件以绕过它之外,还有其他方法吗?还是那是我应该做的?

0 投票
2 回答
1247 浏览

mysql - 在 Active Record 中添加自定义列数据类型

在我的本地机器上,我使用 MySQL 开发我的 Rails 应用程序,但在部署时我使用的是使用 PostgreSQL 的 Heroku。我需要创建一个新的数据类型,特别是我希望将其称为 longtext,并且它需要映射到任一数据库中的单独列类型。

我一直在寻找这个。我的基本想法是我将需要覆盖 ActiveRecord::ConnectionAdapters::*SQL 适配器中的一些哈希,但我想我会在这里查阅丰富的知识,看看这是否是一个好方法(并且,如果可能,请提供有关如何操作的指示)或者是否有另一种快速获胜的方法。

现在数据类型是“字符串”,由于数据类型太长,插入失败。我希望在 MySQL 和 PgSQL 上具有相同的功能,但似乎没有通用数据类型可以为我提供无限的文本 blob 列类型?

这个想法是我想让这个应用程序在两种数据库技术上都能正常工作(通过迁移)。

非常感激。

0 投票
2 回答
252 浏览

ruby-on-rails - Rails - 您的数据库架构的权威来源?

我有 Rails 应用程序,每隔一段时间,当我让新开发人员加入时,他们会惊呼他们应该能够通过运行迁移的整个历史在他们的开发环境中生成当前的数据库模式。我个人认为迁移不是您架构的权威来源。现在我们所做的是将具有当前模式的数据库的生产副本加载到开发机器上。而且,从那里,模式可以通过增量迁移来维护。

所以我的问题是:

  • Rails 项目中架构的权威来源是什么?
  • 现在认为维护数据库模式的最佳实践方法是什么?
0 投票
2 回答
1822 浏览

sql-server - 带有 UUID 主键的 ActiveRecord 迁移

在我要创建的迁移中,表的主键是一个名为“id”的字段,但它不是一个自动递增的整数。它的数据类型应该是唯一标识符(一个 uuid)。这是我尝试过的:

这可以创建表,但是没有主键(因为我说:id=>false)。如果我说“create_table :some_things, :id => true, :primary => :id”,那么“id”将成为主键,但它是一个自动递增的整数,而不是非自动递增的 uuid。

我怎样才能使这个迁移工作,以便主键是一个名为“id”的字段,类型为“uniqueidentifier”(非自动递增)?

我正在使用:SQL Server 2008、Rails/ActiveRecord 3.0.3、activerecord-sqlserver-adapter gem 和 ODBC 连接。

0 投票
3 回答
1003 浏览

ruby-on-rails - 如何指定所有表都应包含某些字段?

假设我已经用很多表(大约 40 个)定义了我的数据库。我现在意识到我想在每个表中添加某些列。为了这个例子,让它成为 created_byand updated_by

有没有办法在不经历 40 次迁移并手动更新每个迁移的情况下轻松做到这一点?

我正在使用导轨 2.3.8