stablekernel / aqueduct

Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.
https://aqueduct.io
BSD 2-Clause "Simplified" License
2.41k stars 281 forks source link

Heroku deployment db migration issue #825

Open AndroidJedi opened 4 years ago

AndroidJedi commented 4 years ago

2020-04-26T16:51:25.483811+00:00 app[api]: /app/dart-sdk/bin/pub global run aqueduct:aqueduct db upgrade --connect $DATABASE_URL

2020-04-26T16:51:25.483811+00:00 app[api]: fi'` by user [myemail]@gmail.com 2020-04-26T16:51:44.412198+00:00 heroku[release.9743]: State changed from starting to up 2020-04-26T16:51:50.241575+00:00 app[release.9743]: -- Aqueduct CLI Version: 3.0.0 2020-04-26T16:51:50.363182+00:00 app[release.9743]: -- Aqueduct project version: 3.3.0-b1 2020-04-26T16:51:50.770436+00:00 app[release.9743]: -- Updating to version 1 on new database... 2020-04-26T16:52:04.000000+00:00 app[api]: Build succeeded 2020-04-26T16:52:15.733880+00:00 app[release.9743]: *** Uncaught error 2020-04-26T16:52:15.733915+00:00 app[release.9743]: IsolateSpawnException: Unable to spawn isolate: data:application/dart;charset=utf-8,import%20'dart%3Aasync'%3B%0Aimport%20'dart%3Aisolate'%3B%0Aimport%20'dart%3Amirrors'%3B%0Aimport%20'package%3Aaqueduct%2Faqueduct.dart'%3B%0Aimport%20'package%3Aaqueduct%2Fsrc%2Fdb%2Fschema%2Fmigration . . .... 0message)%20%7B_sendPort.send(message)%3B%7D%20void%20log(String%20message)%20%7B_sendPort.send(%7B%22line%22%20%3A%20message%7D)%3B%7D%7D%0A%0A:5:8: Error: Error when reading 'pub-cache/hosted/pub.dartlang.org/aqueduct-3.3.0-b1/lib/src/db/schema/migration_source.dart': No such file or directory . . 2020-04-26T16:52:15.733934+00:00 app[release.9743]: class SchemaBuilderExecutable extends Executable<Map<String, dynamic>> {SchemaBuilderExecutable(Map<String, dynamic> message) : inputSchema = Schema.fromMap(message["schema"] as Map<String, dynamic>), sources = (message["sources"] as List).map((m) => MigrationSource.fromMap(m as Map<String, dynamic>)).toList(), super(message); SchemaBuilderExecutable.input(this.sources, this.inputSchema) : super({"schema" : inputSchema.asMap(), "sources" : sources.map((source) => source.asMap()).toList()}); final List sources; final Schema inputSchema; @override Future<Map<String, dynamic>> execute() async {hierarchicalLoggingEnabled = true; PostgreSQLPersistentStore.logger.level = Level.ALL; PostgreSQLPersistentStore.logger.onRecord.listen((r) => log("${r.message}")); var outputSchema = inputSchema; for (var source in sources) {Migration instance = instanceOf(source.name); instance.database = SchemaBuilder(null, outputSchema); await instance.upgrade(); outputSchema = instance.currentSchema;} return outputSchema.asMap();} static List get imports => ["package:aqueduct/aqueduct.dart", "package:aqueduct/src/db/schema/migration_source.dart"];}

xvld commented 4 years ago

Downgrading project to 3.2.1 worked for me