当我使用 生成迁移时diesel migration generate customers
,如果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 查询都是完全有效的,我不知道去哪里调试。