Storm — это библиотека программирования Python для объектно-реляционного отображения между одной или несколькими базами данных SQL и объектами Python. Она позволяет разработчикам Python формулировать сложные запросы, охватывающие несколько таблиц базы данных, для поддержки динамического хранения и извлечения информации об объектах.
Поддержка баз данных MySQL , PostgreSQL и SQLite встроена в Storm, а API позволяет поддерживать и другие. Storm также поддерживает веб-фреймворки Django и Zope изначально. Поддержка Twisted запланирована для выпуска .20. [1]
Разработка
Storm был разработан Canonical Ltd. на Python для использования в приложениях Launchpad и Landscape и впоследствии выпущен в 2007 году как свободное программное обеспечение. Проект является свободным программным обеспечением и выпущен в соответствии с лицензией GNU Lesser General Public License , а участники обязаны передать авторские права Canonical. Контроль версий осуществляется в Bazaar , а отслеживание проблем — в Launchpad. [2]
Версия | Дата выпуска | Улучшения [3] |
---|
Шторм 0.21 | Будет определено | В разработке по состоянию на 2013 год[обновлять] |
Шторм 0.20 | 28 июня 2013 г. | - В storm.testing добавлен новый CaptureTracer.
- Setuptools теперь требуется для запуска setup.py. Это упрощает установку зависимостей, необходимых для запуска тестового набора.
- Ошибки отключения PostgreSQL теперь обнаруживаются более надежно.
- Выражения вставки теперь поддерживают многострочные и подзапросные операторы INSERT.
- Поддержка в бэкэнде postgres использования расширения RETURNING для UPDATE с возможностью указания возвращаемых столбцов.
- Добавьте выражение Distinct для добавления «DISTINCT» к выражениям SQL.
- Переключитесь на REPEATABLE READ в качестве уровня изоляции для Postgres.
- Добавить поддержку двухфазных коммитов (только PostgreSQL).
- ZStormResourceManager теперь имеет необязательный атрибут экземпляра schema_stamp_dir, поэтому обновления схемы будут выполняться только при необходимости.
|
Шторм 0.19 | 05 окт. 2011 г. | - Storm.zope.testing.ZStormResourceManager поддерживает использование настраиваемого URI.
- Аргумент «distinct» ResultSet.config принимает кортеж столбцов.
- Предоставлять обернутые объекты курсора на уровне интеграции Django.
- Добавьте новое свойство JSON, новый конструктор ROW, новые выражения Cast и два новых трассировщика.
- Добавлен новый модуль storm.twisted.transact.
|
Шторм 0.18 | 25 окт. 2010 г. | - Включите код для управления и миграции схем базы данных.
- Добавлен класс storm.zope.testing.ZStormResourceManager для управления набором зарегистрированных магазинов.
- При возникновении исключения TimeoutError оно включает в себя описание причины возникновения исключения.
- Улучшен интерфейс IResultSet для документирования обоснования того, почему некоторые атрибуты не включены.
|
Шторм 0.17 | 05 авг. 2010 г. | - ResultSet и ReferenceSet переработаны и улучшены.
- Классы Store и Connection имеют методы block_access() и unblock_access().
- При попытке использовать хранилище для каждого потока из неправильного потока будет возникать ошибка ZStormError.
|
Шторм 0.16 | 29 ноября 2009 г. | - Конструктор выражений множеств теперь будет выравнивать свой первый аргумент, если он имеет тот же тип.
- Добавьте методы startswith(), endswith() и contains_string() в Comparable.
- Расширения C включены по умолчанию.
- «make doc» использует Pydoctor для генерации документации API.
|
Шторм 0.15 | 08 авг. 2009 г. | - Добавить поддержку последней версии Django, не проверяя аргументы, передаваемые в _cursor.
- Добавлены новые GenerationalCache, тип свойства UUID, выражение Neg и выражения Coalese.
- Улучшены отчеты об ошибках отключения.
- Результаты/наборы результатов теперь отображают больше информации.
|
Шторм 0.14 | 09 Янв 2009 | - Добавлен новый пакет storm.django.
- Конструктор Store принимает необязательный аргумент ключевого слова кэша,
- ResultSets теперь предлагают метод is_empty().
|
Шторм 0.13 | 28 авг. 2008 г. | - Добавьте методы group_by/having к объектам ResultSet.
- Измените tests/store, чтобы сохранить соединение во время тестов.
- Реализована поддержка подключения универсальных «трассировщиков».
- Свойства теперь принимают параметр «валидатор».
- В Store.find() можно передавать как выражения, так и классы.
- Предметы смываются в порядке их загрязнения.
- ClassAlias кэширует все явно именованные псевдонимы.
- Результирующие наборы и справочные наборы теперь имеют метод __contains__().
|
Шторм 0.12 | 28 января 2008 г. | - При обнаружении обрывов соединение будет автоматически восстановлено.
- Store.flush() не будет загружать значения, вставленные в базу данных.
- Поддержка в бэкэнде postgres использования расширения RETURNING.
- Внедрён механизм кэширования, который сохраняет в памяти N последних извлеченных объектов.
- Улучшена поддержка свойств TimeDelta на всех бэкэндах.
|
Шторм 0.11 | 08 окт. 2007 г. | Выпуск с исправлением мелких ошибок. |
Шторм 0.10 | 08 авг. 2007 г. | Исправления ошибок, улучшения функций, документация! |
Шторм 0.9 | 06 июля 2007 г. | |
Смотрите также
Ссылки
- ^ База кодов Storm в bzr. http://bazaar.launchpad.net/~storm/storm/trunk/files/head:/storm/ Получено 24 мая 2012 г.
- ^ Соглашение Canonical с авторами http://www.canonical.com/contributors Получено 24 мая 2012 г.
- ^ Разработчики Storm. "Launch Pad". https://launchpad.net/storm 2006-07-17. Получено 24 мая 2012 г.
Внешние ссылки