标签: rails-migrations

Rails 3,使用外键生成迁移

我如何使用外键执行或生成迁移?我有municipios表,我想与表关联ciudades,表将有这些字段:( nombre_id名称ID),nombre(名称),departamento(部门)在这种情况下如何运行脚手架脚本来生成外键迁移?

ruby-on-rails rails-migrations ruby-on-rails-3

4
推荐指数
1
解决办法
5012
查看次数

如何从转储创建数据库后跳过rails迁移

我从最新的转储中恢复了数据库,并尝试运行rake测试.不幸的是,有30个迁移尚未完成 我的第一个想法是评论30个迁移代码中的每个代码并运行'rake db:migrate',但必须有一个更简单的解决方案.我使用Rails 2.3.14和Postgresql 9.1.3.

postgresql ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
2572
查看次数

Rails 迁移 - 根据条件修改行

我需要使用 RAILS 迁移更新数据库中的表数据。

Sample:
Table: Table_A(Col_A(number), Col_B(varchar),...)
Query: UPDATE Table_A SET Col_B = "XXX" where Col_B = "YYY"
Run Code Online (Sandbox Code Playgroud)

使用 RAILS 迁移来执行此操作的最佳方法是什么?我什至不确定 RAILS 迁移是否是更新数据库中数据的方法。任何解释都会有帮助。

ruby ruby-on-rails rails-migrations

4
推荐指数
2
解决办法
2054
查看次数

Rails 迁移顺序和 Git

由于使用 Rails + git 进行迁移是一种痛苦,所以新的刺已经出现了。

在我对我的产品数据库造成任何损害之前,以下情况会造成严重破坏吗?如果是这样,我该如何处理?

我正在一个单独的分支 ( ) 中开发一个长期功能feature/long-term。这个功能是对很多组件的大修,需要一段时间才能完成。此功能有新的迁移,已迁移到本地主机数据库。

同时,我需要通过另一个分支()修复/添加到产品系统的迁移feature/quick-fix。其中有一个迁移文件,其日期晚于feature/long-term迁移。

quick-fixthe和 the的迁移long-term彼此无关,它们不会冲突并且在不同的表上工作。它们的运行顺序并不重要。

如果我合并feature/quick-fix到 master 并db:migrate在几天/几周内合并feature/long-term迁移文件顺序将是long-term第一个。

这会以某种方式影响数据库吗?(产品数据库很重要,所以我不想reset

migration git ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
831
查看次数

Rails和MySQL语法错误与执行块中的多个SQL语句

对于使用MySQL的应用程序,我在Rails迁移中有以下代码:

execute <<-SQL
  ALTER TABLE properties
    ADD name VARCHAR(255) NOT NULL;

  ALTER TABLE properties
    ADD CONSTRAINT fk_properties_name
    FOREIGN KEY (name)
    REFERENCES valid_property_names (property_name);
SQL
Run Code Online (Sandbox Code Playgroud)

当我运行迁移时,我收到以下错误:

Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE properties
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误,如何解决?

mysql sql ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
1222
查看次数

在Rails迁移中限制整数大小

如何在Rails 4迁移中指定整数大小的限制?(我的数据库是PostgreSQL.)

我有字段phone_number,应该是8位数.如果我指定:limit => 8,那么这是字节大小而不是数字的长度.

有没有办法做到这一点?

postgresql ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
1996
查看次数

如何将所有迁移文件转换为Rails中的单个文件?

我一直在Ruby on Rails上开发一个项目.在开发过程中,我为我的项目生成了大量的迁移文件.有时我添加和删除了不同表中的列.

有没有办法可以将多个文件中的所有迁移合并到一个文件中?

ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
1026
查看次数

Rails 5—如何添加 UUID 列

UUIDRails 5 中关于s 的文档似乎并不多。我找到的只是以下代码:

create_table :users, id: :uuid do |t|
  t.string :name
end
Run Code Online (Sandbox Code Playgroud)

如果您正在创建一个表,这很有效,但是如果您正在更新一个已经存在的表呢?

如何在表格中添加UUID列?

mysql uuid rails-migrations ruby-on-rails-5

4
推荐指数
2
解决办法
1万
查看次数

如何使用 Rails 迁移运行 rake 任务

我想使用迁移运行 rake 任务,因为我们希望当用户运行时,rails db:migrate此任务将通过迁移运行。

我的耙子任务是:

namespace :task_for_log do

  desc "This task set by default as current date for those logs where log_date is nil"
  task set_by_default_date_of_log: :environment do
    Log.where("log_date IS NULL").each do |log|
      log.update_attributes(log_date: log.created_at.to_date)
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

请指导执行此任务的迁移将是什么,这里的任何人都将拯救我的生命?

ruby ruby-on-rails rails-migrations ruby-on-rails-5

4
推荐指数
1
解决办法
3008
查看次数

如何对 add_column 进行可逆迁移

此迁移工作完美

class CreateCourses < ActiveRecord::Migration[6.0]
  def change
    create_table :courses do |t|
      t.references :user, null: false, foreign_key: true
      t.string :title, limit: 500, null: false
    end    
    reversible do |dir|
      dir.up do
        add_column :users, :courses_count, :integer, null: false, default: 0
      end
      dir.down do
        remove_column :users, :courses_count
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个它添加courses_count,但它并没有删除它rails db:rollback。可逆迁移的重点不是def change它会反转的方法add_column吗?

class CreateCourses < ActiveRecord::Migration[6.0]
  def change
    create_table :courses do |t|
      t.references :user, null: false, foreign_key: true
      t.string :title, limit: 500, null: false …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails rails-migrations

4
推荐指数
1
解决办法
145
查看次数