Ruby on Rails中的表创建

问题描述 投票:-3回答:2

我有这三个表用外键相互引用。

create table category(cat_id int primary key auto_increment, cat_name varchar(30),cat_label varchar(30));

create table product(prod_id int primary key auto_increment, cat_id int(11), prod_name varchar(100),prod_desc varchar(100), foreign key (cat_id) references category(cat_id))

create table sales(sales_id int primary key auto_increment, prod_id int(11), sales_name varchar(100),sales_desc varchar(100),
foreign key(prod_id) references product(prod_id));

作为Rails的新手,我知道如何使用scaffold创建一个表,如下所示。

rails generate scaffold category cat_id:integer cat_name:string cat_label:string 

如何在Rails中创建上述三个表?

ruby-on-rails
2个回答
0
投票

你可以从终端做到

rails g model category name
rails g model product name category:references
rails g model sale name product:references

它将生成3个具有3个表的迁移,并使用外键相互引用。

您也可以在一次迁移中手动编写所需的全部内容。


1
投票

你可以在控制台中写下这些行:

rails g model Category cat_id:integer cat_name:string car_label:string

rails g model Product prod_id:integer cat_id:integer prod_name:string prod_desc:string 

这将生成你的两个表(你应该尝试自己创建表Sales),你可以通过这个:https://guides.rubyonrails.org/getting_started.html#generating-a-model,它基本上涵盖了你所需要的一切。

然后设置你的外键,你应该通过协会,你可以在这里找到:https://guides.rubyonrails.org/association_basics.html

你应该仔细阅读它,因为Rails修道院有许多其他编程语言没有的独特的东西。

© www.soinside.com 2019 - 2024. All rights reserved.