水线相关字段与引用的模型pk

时间:2017-09-22 14:34:26

标签: mysql foreign-keys waterline sqldatatypes

我试图在由Waterline创建的数据库中手动创建FK但由于关联列与pk的类型不同而被阻止。

  

[警告,错误代码150,SQLState HY000]创建表   ' accounting_db /#SQL-1c64_c'外键约束失败。那里   在引用的表中引用的列没有索引   显示为第一列。

模型

  //Person
  {
    "identity" : "person",
    "tableName": "PERSON",
    attributes: {
       "id":{
          "type" : "integer",
          "primaryKey" : true,
          "autoIncrement" : true,
          "columnName" : "ID"
        },
        "name":{
           "type" : "string",
           "columnName : "NAME"
        }
    }
  }
  //Pet
  {
    "identity" : "pet",
    "tableName": "PET",
    attributes: {
       "id":{
          "type" : "integer",
          "primaryKey" : true,
          "autoIncrement" : true,
          "columnName" : "ID"
        },
        "name":{
           "type" : "string",
           "columnName : "NAME"
        },
        "person":{
           "model" : "person",
           "columnName : "PERSON_ID"
        }
    }
}

两个模型的CREATE TABLE查询

CREATE TABLE PERSON (
    `ID` INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    `NAME` VARCHAR(255),
     PRIMARY KEY (`ID`)
);
CREATE TABLE PET (
    `ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `NAME` VARCHAR(255), 
    `PERSON_ID` INT, 
    PRIMARY KEY (`ID`)
);

如您所见,表ID的列PERSONINT UNSIGNEDPERSON_ID的列PET的类型为INT
我该怎么对待这个?
谢谢!

0 个答案:

没有答案