【问题标题】:How to add stuff I associated to migrations?如何添加我与迁移相关的东西?
【发布时间】:2014-11-29 20:17:46
【问题描述】:

我有一个看似简单的问题,但我一直找不到合适的解释(或者我太累了,看不到它)。我有以下迁移和模型:

    class User < Sequel::Model
            one_to_many :orders
    end

    Sequel.migration do
            change do
                    create_table :users do
                            primary_key :id
                            String :name, :null=> false
                            String :password, :null=>false
                            create_table :user_orders do
                                  #like that? If so, what to put in here?
                            end
                    end    
            end
    end

    class Order < Sequel::Model
            many_to_one :user
            many_to_one :restaurant #ignore for now
    end

    Sequel.migration do
            change do
                    create_table :orders do
                            primary_key :id
                           #no stuff yet
                    end
            end


    end

我的问题是 - 我如何在用户中创建一个表并在订单中创建一个条目以将正确的订单分配给用户并将正确的用户分配给订单。如果我跳过了一些明显的来源,那么我很抱歉(红宝石和整个网络应用程序的新手),并且一定要指出我正确的方向。

【问题讨论】:

    标签: ruby model-associations sequel padrino


    【解决方案1】:

    我不确定这是否是您想要的,但正如您在 documentation 中看到的那样,:orders 表应该包含指向 :users 的外键:

    Sequel.migration do
      change do
        create_table :orders do
          primary_key :id
          foreign_key :user_id, :users
          #no stuff yet
        end
      end
    end
    

    【讨论】:

    • 好的,我可以看到 - 反过来(用户迁移)呢?如何创建订单表?
    • 在 one_to_many 关系中,“one”端不需要任何东西 - :orders 表保存与外键的关系。
    • 哦,我明白了。最后一个问题——假设我想列出用户和他们的订单,比如this。我如何访问分配给用户的订单?
    • user.orders.each...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2015-06-03
    • 2011-03-17
    • 2012-08-11
    相关资源
    最近更新 更多