Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 是否有任何方法可以在渡槽ORM中使用Varchar而不是文本?_Postgresql_Dart_Orm_Varchar_Aqueduct - Fatal编程技术网

Postgresql 是否有任何方法可以在渡槽ORM中使用Varchar而不是文本?

Postgresql 是否有任何方法可以在渡槽ORM中使用Varchar而不是文本?,postgresql,dart,orm,varchar,aqueduct,Postgresql,Dart,Orm,Varchar,Aqueduct,在渡槽ORM中,我创建了一个表定义,它有三列:Id、用户名和密码。用户名和密码列为字符串类型。 我正在使用一个ProstgreSQL数据库和一个我手动创建的表(在aqueduct ORM中没有可用的迁移功能)。表中的用户名和密码列为varchar类型。现在的问题是,当我尝试使用ORM查询向表中插入一些值时,会产生一个错误:指定的参数类型与查询insert INTO customers(用户名、密码)值(@v_用户名:text,@v_密码:text)中的列参数类型不匹配 我浏览了aqueduct文

在渡槽ORM中,我创建了一个表定义,它有三列:Id、用户名和密码。用户名和密码列为字符串类型。 我正在使用一个ProstgreSQL数据库和一个我手动创建的表(在aqueduct ORM中没有可用的迁移功能)。表中的用户名和密码列为varchar类型。现在的问题是,当我尝试使用ORM查询向表中插入一些值时,会产生一个错误:指定的参数类型与查询insert INTO customers(用户名、密码)值(@v_用户名:text,@v_密码:text)中的列参数类型不匹配

我浏览了aqueduct文档,发现它只支持文本类型,这里可以看到与PostgreSQL列类型关联的数据类型,这里String与文本关联(仅?)


有没有办法用varchar代替text?

没有办法用varchar。在Postgres中,varchar和text是相同的结构-只有长度限制。可以使用ORM验证注释提供长度。另请参见:事实上,文本字段更高效(与其他RDBMS不同),因为varchar()必须确保文本足够短,但文本只接受您所抛出的内容。我想我应该使用文本,谢谢大家!没有使用varchar的方法。在Postgres中,varchar和text是相同的结构-只有长度限制。可以使用ORM验证注释提供长度。另请参见:事实上,文本字段更高效(与其他RDBMS不同),因为varchar()必须确保文本足够短,但文本只接受您所抛出的内容。我想我应该使用文本,谢谢大家!
class customers 
{
  @Column(primaryKey: true, autoincrement: true)
  int id;

  @Column(unique: true, nullable: false)
  String username;

  @Column(nullable: false)
  String password;
}