了解 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)
);
我在 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)
);