Dart взаимодействие/доступ к базе данных
Как Dart (на стороне сервера) может обращаться к базе данных?
Могу ли я выполнять SQL-выражения напрямую или могу использовать какой-то ORM?
Ответы
Ответ 1
В настоящее время нет API баз данных для Dart, который соперничает с ODBC/JDBC, также, насколько мне известно, ORM отсутствует. В будущем определенно будет такая вещь, также Dart SDK в конечном итоге позволит вам связать собственный код с ним, что упростит предоставление доступа к базе данных путем связывания с существующими библиотеками баз данных.
Я сам в настоящее время использую Riak на Dart через свой интерфейс REST, который хорошо работает для небольших приложений, но для чего-то более серьезного нам придется ожидание поддержки SDK лучше.
Примечание. базы данных на стороне клиента, такие как IndexDB и WebSQL, находятся в процессе добавлено до dart: html прямо сейчас.
Обновление: Теперь есть драйвер MongoDB, и мы работаем над драйвером для Amazon DynamoDB
Обновление 2: Теперь драйверы доступны для mysql и postgresql.
Ответ 2
Существует драйвер mongoDb, который выпустил Вадим Цушко. Это было упомянуто в dartlang news в последнее время.
Pastebin, например, использование.
Обновить. Я также написал об этом в блоге dartwatch
Ответ 3
Это затрагивает более крупный вопрос о переносе из существующих архитектур, таких как CakePHP и RoR в Dart. Дарт очень новенький и не обеспечивает много функциональности на стороне сервера, а не с драйверами db - это наименьшая из ваших проблем. В Dart отсутствует проверенная и проверенная на практике структура MVC, что означает, что почти смешно воображать переход с CakePHP на ради аргумента Дарта.
В ситуации, когда вы хотите попробовать и начать конвертировать в цели Dart - было бы бессмысленно обращаться к db непосредственно из Dart, а использовать RESTful-сервисы в существующей инфраструктуре MVC.
Это обеспечивает гораздо более чистый и надежный интерфейс, чем кодирование SQL в Dart и обеспечивает хороший путь миграции.
Ответ 4
Существует также доступный драйвер Redis: https://github.com/mythz/DartRedisClient
Ответ 5
Существует также драйвер Windows MS-SQL Server, доступный по адресу https://pub.dev/packages/dart_mssql