Adding Constraints to a Contract

I’m trying to set constraints for a contract in my models.yml file and I am getting build errors when I set the expression to a text value like "ref(‘dim_customers’) (CustomerKey). The specific error I am getting is “no parent table defined”.

I’m trying to do this so that I can have primary and foreign keys assigned to my tables to help with data discovery during power bi connections.

I’ve tried variations of the expression like <model_schema>.<model_table> (<model_column>) as it is shown in the documentation but it still doesn’t work and I get the no parent table defined error.

My yaml file:

- name: partner_customer_bridge
    description: A bridge table that relates customers to partners.
    config:
      contract: 
        enforced: true
    tests:
      - dbt_expectations.expect_table_columns_to_match_ordered_list:
          column_list: ["PartnerKey", "CustomerKey"]
    columns:
      - name: PartnerKey
        description: The primary key from the partner dimension.
        data_type: string
        constraints:
          - type: not_null
          - type: foreign_key
            expression: "ref('dim_partners') (PartnerKey)"
        tests:
          - not_null
          - relationships:
              to: ref('dim_partners')
              field: PartnerKey
          - dbt_expectations.expect_column_values_to_be_of_type:
              column_type: string
      - name: CustomerKey
        description: The primary key from the customer dimension.
        data_type: string
        constraints:
          - type: not_null
          - type: foreign_key
            expression: "ref('dim_customers') (CustomerKey)"
        tests:
          - not_null
          - relationships:
              to: ref('dim_customers')
              field: CustomerKey
          - dbt_expectations.expect_column_values_to_be_of_type:
              column_type: string

The exact error message I am getting when I attempt to build:

No parent table defined for foreign key: