RangeError:无效值:不在包含范围0..1114111:-1

时间:2020-07-05 18:00:11

标签: flutter dart aqueduct

我正在尝试研究渡槽,我创建了一个表格并试图从中读取数据。但是当我输入cmd aqueduct db upgrade --connect postgres:// postgres:pass @ localhost:5432 / courses

此错误显示: RangeError:无效值:不在范围0..1114111:-1 enter image description here

2 个答案:

答案 0 :(得分:0)

首先使用项目根目录中的配置文件。

config.yaml

database:
    username: "postgres_user"
    password: "pg_user_pass"
    host: "localhost"
    port: 5432
    databaseName: "pg_db_name"

database.yaml

username: "postgres_user"
password: "pg_user_pass"
host: "localhost"
port: 5432
databaseName: "pg_db_name"

您还需要在文件“ substituter.dart”中更改一行代码,它位于外部库-> Dart软件包-> postgres-> src-> replacer.dart,它应该位于第66行,但是确定您找到这行代码

while (iterator.current != null) {

将其更改为

while (iterator.current != null && iterator.current == -1) {

在终端上项目的根目录中时,使用此命令创建迁移文件

flutter pub run aqueduct db generate

现在去更改pubspec.yaml上的以下版本

aqueduct: ^4.0.0-b1

aqueduct_test: ^2.0.0-b1

进行这些更改后

flutter pub get
flutter pub upgrade
flutter pub run aqueduct db upgrade --database-config ./database.yaml

然后您应更改回这些版本

aqueduct: 3.3.0+1
aqueduct_test: ^1.0.0

再次运行flutter pub get,然后您可以运行aqueduct serve

答案 1 :(得分:0)

我将 PostgreSQL的版本回滚到10.14 。很稳定。

并将文件pubspec.yaml更改为此:

dependencies:
  aqueduct: ^4.0.0-b1

dev_dependencies:
  test: ^1.0.0
  aqueduct_test: ^2.0.0-b1

重要提示。输入命令:pub global activate aqueduct 4.0.0-b1