了解 Ruby 关于 Rails 迁移文件

Understanding Ruby On Rails Migration files

我在 Rails 上对 Ruby 比较陌生,正在阅读一些教程以了解通过 rails g 命令生成的内容。在这种情况下,使用用户名和电子邮件字符串生成客户模型会生成以下迁移文件:

class CreateCustomers < ActiveRecord::Migration[6.1]
  def change
    create_table :customers do |t|
      t.string :username
      t.string :email

      t.timestamps
    end
  end
end

我知道 create_table 是一个方法,它有 :customer 的符号作为参数传入。我也知道有一个块被传递到所述方法中。但是,我不明白的是块中的 t 到底代表什么。非常感谢任何帮助我理解这一点的帮助。

迁移文件是对您的数据库的一组指令,用于创建一个名为 'customers' 的新 table,其中包含两个字符串字段,用户名和电子邮件。 't'正好代表这个table。尽管它只迭代一次,但它遵循以下一般形式:

@items.each do |item|

如果您使用的是SQL数据库,当您运行 rails db:migrate这些指令将变成SQL并在数据库中执行。 SQL 类似于:

CREATE TABLE customers(
  id BIG_INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(256),
  email VARCHAR(256)
);