I’ve been looking into the Dart ecosystem the past few days as I’ve been getting more into it. One thing that I’ve noticed is that there seems to be a hole in the ecosystem when it comes to SQL database connectivity.
There doesn’t appear to be one well defined package or interface to multiple SQL database backends (ala Perl DBI or the like) – especially if you are interested in sending raw SQL.
There are a number of packages that implement interfaces of some sort to SQLite, and if you are using non-relational databases or Firebase, there seem to be good options, but if you want to write something that might connect to bog standard SQL Server, Oracle, MySQL, or Postgres remotely, there doesn’t seem to be a unified option for that. There are packages for MySQL and Postgres it seems, and there is an old package for ODBC, but it doesn’t look like it’s been updated in 8 years, so I’m not sure how compatible it is at the moment.
This pretty dramatically effects my thoughts of being able to use Dart on the backend with traditional relational databases as a datastore.