当我使用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查询都非常有效,我不知道该去哪里调试。