在Postgres和Rails 4中创建表

时间:2015-07-29 01:49:37

标签: ruby-on-rails postgresql

我是一个全新的人;我使用psql控制台为db创建表,但我认为我做错了,因为当我运行rake db:migrate时,一切都被擦掉了。所以我的问题是如何让它在重置时停止丢弃所有表而不再重新输入所有表格?我想我应该使用模型,这是正确的吗?

编辑 - 所以我浪费了所有时间使用psql控制台制作表格?

3 个答案:

答案 0 :(得分:2)

您需要创建表格" Rails方式"与migrations。您应该阅读提供的链接,但基本上您创建迁移以跟踪数据库模式中的更改。您可以进行迁移以创建表,添加新列,更改列定义等。您可以generate迁移以从命令行创建表,如下所示:

rails generate model Fruit title:string amount:integer
rake db:migrate

这不仅会创建具有指定名称的表fruits,还会创建一个模型Fruit,您可以使用query表格。您还可以自由编辑在运行rake db:migrate之前创建的迁移。

答案 1 :(得分:0)

您应该创建迁移文件来构建数据库。这就是您在运行rake db:migrate时所执行的操作:您正在获取迁移文件并将其应用于数据库。有关Rails迁移的更多信息,请查看this guide

答案 2 :(得分:0)

通过运行$ rake -T,您可以检查每个佣金任务。由于其他任务与某些rake任务一起运行,所以一切都被擦除。试试

$ rake db:drop
$ rake db:create
$ rake db:migrate

只要您为Postgres角色授予数据库创建权限,就应该正确创建数据库。