当列指定长度时,为什么Diesel不能迁移PostgresSQL数据库?

时间:2019-03-28 14:23:57

标签: sql postgresql rust rust-diesel

当我使用diesel migration generate customers生成迁移时,如果migrations文件夹中的up.sql文件中没有包含列长度的括号:

CREATE TABLE customers (
  id SERIAL PRIMARY KEY,
  name VARCHAR NOT NULL,
  identity VARCHAR NOT NULL,
  hometown VARCHAR NOT NULL,
  age INT NOT NULL
)

当我运行diesel migration run --database-url=postgres://<info>时,它成功迁移了数据库。

为什么会这样:

CREATE TABLE customers (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  identity VARCHAR(255) NOT NULL,
  hometown VARCHAR(255) NOT NULL,
  age INT(11) NOT NULL
)

引发错误:

Failed with: syntax error at or near "("

我的SQL并不令人惊讶,因此为什么我会直接进行ORM,但是我认为SQL查询都非常有效,我不知道该去哪里调试。

0 个答案:

没有答案