SQLAlchemy є відкритим вихідним кодом, крос-платформний і безкоштовна бібліотека програмне забезпечення, написане на мові програмування Python і розроблений з нуля, щоб виступати в якості абстракції бази даних бібліотеки, ORM (Object Relational Mapper) і SQL інструментарію для Python.
Якщо ви і Rsquo; Re розробника Python, SQLAlchemy дасть вам повну гнучкість і міць SQL, забезпечуючи повну колекцію шаблонів наполегливості популярним корпоративного рівня, які були розроблені для високопродуктивної та ефективної access.Features баз даних на програмне забезпечення glanceThe дуже проста у використанні, досить потужний для складних завдань, і модульні. З SQLAlchemy ви зможете організувати до CRUD операцій, дозволяє використовувати булеві вирази, функцій, операторів, псевдонімів таблиць, Союзу положень, корелює ІСНУЄ положення, створення, вставки, видалення і оновлення запитів, обрані підзапити, що корелюють оновлення, внутрішня і зовнішні з'єднання, а також параметри зв'язування.
Крім того, він може бути використаний для створення баз даних, а також займатися самоаналізом їх, Підтримка завантаження, пов'язаних об'єктів і колекцій, підтримки для створення прозорого збереження об'єктів на основі шаблонів, підтримка для управління і побудови моделі предметної області, а також підтримка синхронізації всі зміни з поточної транзакції автоматично.
Серед інших особливостей можна відзначити реляційно-орієнтованої системи запитів, & Rsquo, S здатне виявити всі SQL і Rsquo, S функціональність, в тому числі кореляції, приєднується і підзапити, шар DBAPI взаємодії, систему будівельних SQL ядро, повний, автономний абстракції бази даних шар, підтримка розширюваної метаданих SQL схеми, мови виразів, пулів з'єднань користувача типів і coercion.Supports типу Широкий вибір databasesThe програма включає в себе діалекти для широкого спектра серверів і систем баз даних, у тому числі MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, і багато інших.
Проект не залежить від операційної системи, а це означає, що вона може бути легко встановлена і використовуватися на будь-якому розподілі GNU / Linux, а також на Microsoft Windows, BSD або операційних систем Mac OS X. Обидва 32-бітних і 64-бітових апаратних архітектур підтримуються в даний момент
Що нового У цьому випуску :.
- ORM:
- [ORM] [помилка] [двигун] Виправлена помилка, яка впливає як правило, одні і ті ж класи випадку, що і # 3199, коли назвав = True параметр буде використовуватися. Деякі події не зможуть зареєструватися, а інші не будуть посилатися на аргументи події правильно, як правило, у випадку, коли подія була і Quot; загорнуті & Quot; для адаптації в якийсь інший спосіб. І Quot; імені та Quot; механіка були перебудовані, щоб не заважати аргументу підписання очікуваного внутрішніх функцій-оболонок.
- [ORM] [помилка] Виправлена помилка, яка торкнулася багатьох класи разі, зокрема, ORM подій, а й події движок, де зазвичай логіка та Quot; -де-розмножувальна & Quot; зайвим звертання до event.listen () з тими ж аргументами не вдасться, для тих заходах, де функція прослуховувач упаковці. Твердження було б ударити в registry.py. Це твердження в даний час включаються в перевірці дедуплікаціі, з додатковим бонусом простих засобів перевірки дедуплікаціі в усіх напрямках.
- [ORM] [помилка] Виправлена попередження, що б випромінювати, коли комплекс самоссилающіеся primaryjoin містяться функції, в той же час remote_side був вказаний; Попередження хотів би запропонувати налаштування і Quot; вилучену сторону & Quot;. В даний час випромінює тільки якщо remote_side немає.
- ORM декларативний
- [помилка] [декларативний] [ORM] Виправлена & Quot; об'єкт "NoneType" не має атрибута "конкретне" і Quot; Помилка при використанні AbstractConcreteBase в поєднанні з підкласу, який заявляє __abstract __.
- двигун
- [двигун] [помилка] Варіанти виконання пройшли в двигун або через create_engine.execution_options або Engine.update_execution_options () не передаються спеціального зв'язку, що використовуються для ініціалізації діалект всередині і Quot; спочатку підключити і Quot; події; діалекти, як правило, виконують свої власні запити в цій фазі, і жоден з наявних в даний час варіантів слід застосовувати тут. Зокрема, і Quot; AutoCommit і Quot; опція викликає спробу Autocommit в цій початковій підключення, які не зможуть з AttributeError через нестандартного стану з'єднання.
- [двигун] [помилка] Рядок ключі, які використовуються для визначення стовпців порушені для вставки або поновлення тепер упорядковано коли вони сприяють до & Quot; складений кеша і Quot; кеш ключів. Ці ключі, які раніше не детерміновано наказав, тобто той же оператор може кешувати кілька разів на еквівалентних ключів, вартістю як з точки зору пам'яті, а також продуктивності.
- SQL
- [SQL] [помилка] Виправлена помилка, при якій значна кількість елементів SQL всередині упаковки SQL не зможе __repr __ () успішно, через відсутнього опис атрибута, який би потім викликати переповнення рекурсії, коли внутрішня AttributeError потім повторно -invoke __repr __ ().
- [SQL] [помилка] коректування таблиці / індексу відбиття, що якщо індекс повідомляє стовпець, який не знайшов присутнім в таблиці, попередження сигнал і стовпець пропускається. Це може відбутися протягом декількох особливих ситуаціях система Колонка як було відзначено з Oracle.
- [SQL] [помилка] Виправлена помилка в КТР, де literal_binds аргумент компілятор не завжди правильно поширюється, коли один CTE передано іншій псевдонімом КТР в заяві.
- [SQL] [помилка] Виправлена 0.9.7 регресії викликані # 3067 в поєднанні з модульного тестування неправильного назвою, наприклад, що так звані & Quot; схеми та Quot; типи, такі як логічне і Enum вже не міг бути мариновані.
- PostgreSQL:
- [PostgreSQL] [функція] [pg8000] Додана підтримка для & Quot; здоровому глузді багаторядні Кількість і Quot; з водієм pg8000, який застосовується в основному при використанні версій з ORM. Особливість версії-виявляється на підставі pg8000 1.9.14 або більше у використанні. Потягніть запит люб'язно Тоні Лок.
- [PostgreSQL] [помилка] повернутися до цього питання в першу виправлена в 0.9.5, мабуть .closed збруя psycopg2 не настільки надійні, як ми припускали ,, так що ми додали явний перевірку для виключення повідомлень і Quot; Помилка SSL SYSCALL : Дескриптор Bad файл і Quot; і & Quot; Помилка SSL SYSCALL: EOF виявляється і Quot; При виявленні сценарій IS-роз'єднання. Ми будемо продовжувати консультації psycopg2 в connection.closed як Перша перевірка.
- [PostgreSQL] [помилка] Виправлена помилка, при якій тип Postgresql JSON не зміг зберігаються чи інакше надають значення стовпця SQL NULL, а не JSON-закодований "нульовий". Для підтримки цієї справи, зміни полягають у наступному:
- нульове значення () тепер можна вказувати, що завжди буде призводити до значення NULL в результаті в заяві.
- новий параметр JSON.none_as_null додається, що, коли істина вказує, що Ні Значення Python повинні бути peristed як SQL NULL, а не JSON-закодований "нульовий".
- зчитуванням NULL, оскільки жоден не чинив для інших, ніж psycopg2, а саме pg8000 DBAPIs.
- [PostgreSQL] [помилка] упаковка системне виключення помилок DBAPI тепер можуть розміститися нестандартні винятку DBAPI, такі як psycopg2 TransactionRollbackError. Ці винятки тепер буде піднято з використанням найближчого доступного підклас в sqlalchemy.exc, у випадку, TransactionRollbackError sqlalchemy.exc.OperationalError.
- [PostgreSQL] [помилка] Виправлена помилка в postgresql.array об'єкта, де порівняння з простого списку Python перестала б використовувати правильний конструктор масиву. Потягніть запит люб'язно Ендрю.
- [PostgreSQL] [помилка] Доданий підтримувані FunctionElement.alias () у функції, наприклад, FUNC конструкція. Раніше поведінку цього методу було визначено. Нинішні імітує поведінку, що з попереднього 0.9.4, яка є те, що функція включена в одного стовпчика, звідки п із заданим ім'ям псевдоніма, де сама колонка анонімно ім'ям.
- MySQL
- [MySQL] [помилка] [mysqlconnector] Mysqlconnector у версії 2.0, ймовірно, побічний ефект злиття Python 3, тепер не очікує знаки відсотка (наприклад, при використанні в якості оператора модуля та інших), щоб бути в два рази, навіть при використанні & Quot; pyformat & Quot; оцінка формат параметра (ця зміна не документовані Mysqlconnector). Діалект тепер перевіряє py2k і mysqlconnector менше, ніж версія 2.0 при виявленні, якщо оператор модуль повинен бути винесено як %% або%.
- [MySQL] [помилка] [mysqlconnector] SQL Unicode тепер передається для MySQLconnector версії 2.0 і вище; для Py2k і MySQL і LT; 2.0, рядки кодуються.
- SQLite
- [SQLite] [помилка] При виборі із союзу з використанням прикріпленого файлу бази даних, імена стовпців Драйвер повідомляє pysqlite в cursor.description як «dbname.tablename.colname", замість "tablename.colname", як це зазвичай робить для Союзу (відзначимо, що це має бути просто "colname" для обох, але ми працюємо навколо нього). Логіка переклад колонка тут була скоригована, щоб отримати саму праву маркер, а не другий маркер, так що він працює в обох випадках. Обхід люб'язно Тоні Робертс.
- MSSQL
- [MSSQL] [помилка] Виправлена виявлення рядок версії в pymssql діалекті працювати з Microsoft SQL Azure, який змінює слово & Quot; SQL Server і Quot; в & Quot; SQL Azure & Quot ;.
- Oracle:
- [Oracle] [помилка] Виправлена давня помилка в Oracle діалекті, де імена, пов'язані параметрів, які почали з номерів не будуть цитувати, як Oracle не подобається числові в іменах пов'язаних параметрів.
- різне:
- [помилка] [декларативний] Виправлена навряд чи стан гонки спостерігається в деяких екзотичних установок кінцевого користувача, де спроба перевірити на & Quot; дублюючих ім'я класу & Quot; в оповідних б натрапили на НЕ-зовсім-очищеної-вгору слабкою відліку, пов'язаній з якою-небудь інший клас видаляється; перевірка тут і зараз забезпечує weakref і раніше посилається об'єкт перед викликом на нього надалі.
- [помилка] [доб] Виправлена помилка в список, в якому порядок речей буде скинув під час збору замінити події, якщо прапор reorder_on_append були встановлені Правда замовленні. Виправлення гарантує, що список замовлення впливає тільки на список, який явно асоційовану з об'єктом.
- [помилка] [доб] Виправлена помилка, при якій ext.mutable.MutableDict не виконав оновлення () Словник метод, таким чином, не ловити зміни. Потягніть запит люб'язно Метт Чісхолм.
- [помилка] [доб] Виправлена помилка, при якій користувальницькі підклас ext.mutable.MutableDict не показали б вгору в & Quot; примусити і Quot; операція, а замість цього повернеться у звичайний ext.mutable.MutableDict. Потягніть запит люб'язно Метт Чісхолм.
- [помилка] [басейн] Виправлена помилка в лісозаготівельної пулу з'єднань, де і Quot; підключення перевірили & Quot; журналу налагодження сполучення не буде випромінювати, якщо реєстрація були створені за допомогою logging.setLevel (), а не за допомогою прапора echo_pool. Тести це стверджувати реєстрацію були додані. Це регрес, який був введений в 0.9.0.
Метод
Що нового у версії 0.5.0:
- нові можливості
- Загальні
- Документація була перетворена в Сфінкса. Зокрема, створюється API документація була побудована в повномасштабну & Quot; Довідник з API і Quot; розділ, який організовує редакційної документації в поєднанні з генерованими Рядки документації. Зшивання між ділянками і API Docs які значно покращився, JavaScript харчуванням функція пошуку надається, і повний індекс всіх класів, функцій і членів надається.
- setup.py в даний час імпортує Setuptools тільки додатково. Якщо ні, Distutils використовується. Новий & Quot; PIP & Quot; установки рекомендується протягом easy_install, як це встановлюється в більш спрощеному вигляді.
- Додана надзвичайно основний ілюстрації інтеграції PostGIS до папки з прикладами.
- ORM
- Query.with_polymorphic () тепер приймає третій аргумент & Quot; діскрімінатор & Quot; який замінить значення mapper.polymorphic_on для цього запиту. Картостроітелі самі більше не вимагають polymorphic_on бути встановлений, навіть якщо перетворювач має polymorphic_identity. Коли не встановлений, картографа буде завантажувати нон-полиморфно за замовчуванням. Разом ці особливості дозволяють не поліморфний установки бетон спадок використовувати полиморфного навантаження на кожного запиту, так як конкретні установок схильні до багатьох питань, коли полиморфно використовується у всіх випадках.
- dynamic_loader приймає query_class = налаштовувати класи запитів, використовуваний як для динамічного збору і запитів, побудованих з нього.
- query.order_by () не приймає None, які будуть видаляти будь-яку стан відкладеного order_by із запиту, а також скасувати будь-які Mapper / співвідношенню налаштований замовлення. Це, насамперед, використовується для перекриття впорядкування, вказаний на dynamic_loader (). [Квиток: 1079]
- SQL
- RowProxy може бути використаний замість аргументів словника відправлених connection.execute () і друзів. [Квиток: 935]
- діалект
- Додана нова description_encoding атрибут діалекту, який використовується для кодування ім'я стовпця при обробці метаданих. Зазвичай це за замовчуванням UTF-8.
- MSSQL
- Додана в новому MSGenericBinary типу. Відповідає бінарного типу, так що можна реалізувати спеціалізоване поведінка лікування довжини певного типу, як фіксованої ширини бінарних типів і не довжини, як незв'язаний зі змінною довжиною бінарного типу.
- Додана в нових типів: MSVarBinary і MSImage. [Квиток: 1249]
- Додана в MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset і типи MSDateTime2
- SQLite
- Таблиця відображення тепер зберігає фактичне значення DefaultClause для стовпця. [Квиток: 1266]
- виправлення, зміни в поведінці
- Загальні
- ORM
- Винятки, підняті в ході compile_mappers () тепер збережені, щоб забезпечити і Quot; липкою поведінку & Quot;
- , якщо виклик hasattr () на підключеному атрибута скомпільовані заздалегідь викликає іншому випадку компіляції і пригнічує виняток, подальше складання блокується, і виключення буде знову на наступній компіляції () виклику. Ця проблема виникає часто при використанні декларативний характер.
- property.of_type () в даний час визнається на одній таблиці спадкування мети, при використанні в контексті prop.of_type (..). Будь-якого () / має (), а також query.join (опора. of_type (...)).
- query.join () викликає помилку, коли мета об'єднання не відповідає атрибут на основі властивостей
- , хоча це навряд чи хтось робить це, автор SQLAlchemy був винен у цьому конкретному поведінці loosey-балди.
- Виправлена помилка при використанні weak_instance_map = False, де модифіковані події не буде перехоплена для флеша (). [Квиток: 1272]
- Виправлені деякі глибоко і Quot; колонка листування і Quot; питання, які можуть вплинути на Запиту, висунуті проти обираний, що містить кілька версій одного і того ж столу, а також профспілки і подібне, які містили одні й ті ж стовпчики таблиці в різних положеннях стовпців на різних рівнях. [Квиток: 1268]
- Користувальницькі класи компаратора використовується в поєднанні з column_property (), співвідношення () і т.д. можна визначити нові методи порівняння на компаратор, які стануть доступні через __getattr __ () на InstrumentedAttribute. У разі синонім () або comparable_property (), атрибути будуть вирішені в першу чергу на визначений користувачем дескриптора, то на певному користувачем компаратора.
- Додана ScopedSession.is_active збруя. [Квиток: 976]
- Може пройти відображені об'єктів і атрибутів, стовпців в якості ключів до query.update ({}). [Квиток: 1262]
- Підключення атрибути, передані значень () для вставки рівень експресії () або Update () буде використовувати ключі відображених стовпців, не те, що відображених атрибута.
- Виправлена проблема з Query.delete () і Query.update () не працює належним чином з параметрами зв'язування. [Квиток: 1242]
- Query.select_from (), from_statement () гарантувати, що даний аргумент FromClause, або Текст / Вибір / Союз, відповідно.
- Запит () може бути переданий і Quot; композитний і Quot; атрибут як вираження шпальти і вона буде розширена. Кілька пов'язаних з [квитка: 1253].
- Запит () є трохи більш стійким, коли проходили різні вирази стовпців, такі як рядки, clauselists, текст () створює (що може означати це тільки викликає помилку більш красиво).
- Перший () працює, як очікувалося з Query.from_statement ().
- Виправлена помилка, що з'явилася в 0.5rc4 за участю жадібну завантаження не функціонує властивостей, які були додані в картографа після компіляції за допомогою add_property () або еквівалент.
- Виправлена помилка, при якій багато-до-багатьох () з viewonly = True не були правильно посилатися на зв'язок між вдруге і GT ;. Remote
- Duplicate елементів у списку на основі колекції буде підтримуватися при видачі вставками і Quot; вторинний і Quot; стіл в багато-до-багатьох. Якщо припустити, що таблицю M2M була унікальна обмеження первинного ключа на ньому, це підніме очікуваного порушення обмеження замість мовчки опустивши повторюваних записів. Зверніть увагу, що старе поведінка залишається на зв'язку один-до-багатьох, так як записи колекції в цьому випадку не призводять до INSERT заяви та SQLA не вручну колекції поліції. [Квиток: 1232]
- Query.add_column () може приймати об'єкти FromClause таким же чином, як session.query () може.
- Порівняння багато-до-одного відношенню до NULL для правильного перетворення IS NOT NULL урахуванням не _ ().
- Додаткові перевірки додані, щоб гарантувати явний primaryjoin / secondaryjoin є ClauseElement випадки, щоб запобігти більш заплутаною помилки в подальшому. [Квиток: 1087]
- Покращена Mapper () Виїзд класів Некласові. [Квиток: 1236]
- comparator_factory аргумент тепер документально і підтримується всіма типами MapperProperty, в тому числі column_property (), співвідношення (), backref (), а синонім () [квиток: 5051].
- Змінено назву PropertyLoader в RelationProperty, щоб бути послідовним з усіма іншими іменами. PropertyLoader раніше присутня в якості синоніма.
- фіксованою і Quot; подвійний ІТЕР () і Quot; Виклик може призвести до помилок автобусні маршрути в Шарда API, видалити мандрівний result.close (), що залишилися від версії 0.4. [Квиток: 1099] [квиток: 1228]
- з Session.merge каскади не викликають AutoFlush. Виправлення об'єднані випадки отримання передчасно вставляється з відсутніми значеннями.
- Два виправлення, щоб допомогти запобігти від'їзду позасмугових стовпці з надавані в сценаріях спадкування polymorphic_union (який потім викликає додаткові таблиці, які будуть відображені в ВІД пункту, що викликають декартових добутків):
- удосконалення & Quot; колонки адаптацію & Quot; при а & GT; b- і GT ;. ситуації з спадщини краще знайти стовпці, які пов'язані один з одним через кілька рівнів непрямої, а не надання неадаптовані стовпець
- & Quot; поліморфні діскрімінатор і Quot; стовпець тільки, що надаються за фактичного Mapper звернуто запит на. Колонка не буде і Quot; тягнуть в & Quot; з підкласу або суперкласу картографа, так як це не потрібно.
- Виправлена аргумент shard_id на ShardedSession.execute (). [Квиток: 1072]
- SQL
- Колонки можуть знову містять знаки відсотка в їхніх іменах. [Квиток: 1256]
- sqlalchemy.sql.expression.Function тепер суспільного класу. Це може бути підкласи для надання функцій користувача SQL в імперативному стилі, в тому числі із заздалегідь встановленими поведінки. Postgis.py приклад ілюструє використання цього.
- PickleType тепер воліє == порівняння за замовчуванням, якщо вхідний об'єкт (наприклад, Dict) реалізує __eq __ (). Якщо об'єкт не реалізує __eq __ () і змінювані = True, попередження старіння піднята.
- Виправлена імпорту дивина в sqlalchemy.sql не експортувати __names__. [Квиток: 1215]
- Використання ж об'єкт ForeignKey багато разів підвищує помилку замість мовчки невдачу пізніше. [Квиток: 1238]
- Додана NotImplementedError для параметрів () при вставці / оновлення / видалення конструкцій. Ці елементи в даний час не підтримує цю функцію, яка буде також трохи вводить в оману порівнянні зі значеннями ().
- Відбитий зовнішні ключі будуть правильно розташувати їх на який посилається стовпець, навіть якщо стовпець дали & з нетканого матеріалу клавішу & Quot; атрибутів відрізняється від відбитого імені. Це досягається за допомогою нового прапора на ForeignKey / ForeignKeyConstraint називається & Quot; link_to_name і Quot;, якщо воно справедливо дали йому ім'я не її встановлене ключ називають до імені стовпця ,. [Квиток: 650]
- виберіть () може приймати ClauseList як стовпець в тій же чином, як і в таблиці, або інший і внутрішніх виразів буде використовуватися в якості елементів стовпців. [Квиток: 1253]
- & Quot; пасивною і Quot; прапор на session.is_modified () правильно поширюється на менеджера атрибута.
- союз () і union_all () не буде ділити будь-яку order_by (), яка була застосована до виберіть () S всередині. Якщо ви Союз () виберіть () з order_by () (імовірно для підтримки LIMIT / OFFSET), ви також повинні зателефонувати self_group () на ньому, щоб застосувати дужки.
- двигун / басейн
- Connection.invalidate () перевіряє закритому стані, щоб уникнути помилок атрибутів. [Квиток: 1246]
- NullPool підтримує підключіть на поведінку відмови. [Квиток: 1094]
- Додана мьютекс для створення початкового басейну при використанні pool.manage (DBAPI). Це запобігає незначні випадок & Quot; Dogpile & Quot; поведінку, яка в іншому випадку виникати і при запуску важкого навантаження. [Квиток: 799]
- _execute_clauseelement () знову стає приватний метод. Спадкування підключення не потрібно тепер, ConnectionProxy доступний.
- Документація
- Квитки [квиток: 1200] [квиток: 1149].
- Додана замітка про create_session () за замовчуванням.
- Додано розділ про metadata.reflect ().
- оновлюваний розділ `TypeDecorator`.
- Переписаний і Quot; ThreadLocal і Quot; Стратегія перетин документи через нещодавній плутанини в цій функції.
- Вилучено погано застаріло "polymorphic_fetch 'і' select_table" Документи за спадщини, переробив другу половину і Quot; приєдналися спадкування стіл і Quot ;.
- Документальне `comparator_factory` kwarg, додані нові DOC розділ & Quot; користувальницького Компаратори & Quot ;.
- MSSQL
- реструктурировать дата типи / Час. НЕ `` smalldatetime`` тип даних більше не обрізає лише до дати, і тепер буде відображатися в типу MSSmallDateTime. [Квиток: 1254]
- Виправлена проблема з цифрами, щоб прийняти Int.
- Підключення `` char_length`` к) `` функції `` LEN (.
- Якщо `` INSERT`` включає в себе подвибор `` INSERT`` перетворюється з `` INSERT INTO VALUES`` побудувати на `` INSERT INTO SELECT`` конструкції.
- Якщо стовпець є частиною `` primary_key`` це буде `` НЕ NULL`` з MSSQL не дозволяє `` NULL`` в primary_key стовпців.
- `` MSBinary`` тепер повертає `` BINARY`` замість `` IMAGE``. Це тому несумісне зміна в тому, що `` BINARY`` є фіксованою тип даних Довжина в той час як `` IMAGE`` є тип змінної довжини даних. [Квиток: 1249]
- `` get_default_schema_name`` тепер відображена в базі даних на основі схеми користувача за замовчуванням. Це працює тільки з MSSQL 2005 і пізніших версій. [Квиток: 1258]
- Додана підтримка сортування за рахунок використання нового аргументу сортування. Це підтримується в наступних типів: CHAR, NCHAR, VARCHAR NVARCHAR, текст, NTEXT. [Квиток: 1248]
- Зміни в рядок підключення параметрів користь DSN як специфікації за замовчуванням для pyodbc. См mssql.py рядок документації для отримання детальних інструкцій з використання.
- Додана експериментальна підтримка точок збереження. В даний час не в повній мірі працювати з сесіями.
- Підтримка трьох рівнів колонці допустимість порожніх: NULL, NOT NULL, а налаштовані за замовчуванням бази даних. Конфігурація стовпця за замовчуванням (порожні значення = True) тепер буде генерувати NULL в DDL. Раніше ніяких вказівок не було, що випромінюється і за замовчуванням бази даних набуде чинності (як правило, NULL, але не завжди). Щоб явно запросити бази даних за замовчуванням, налаштувати стовпці з обнуляемому_тіпу = немає і ніяких вказівок не буде викинуто в DDL. Це тому несумісні поведінку. [Квиток: 1243]
- Postgres
- & Quot;% & Quot; знаки в тексті () створює автоматично втік до & Quot; %% & Quot;. Через назад, несумісної природи цієї зміни, попередження випускається, якщо "%% 'виявлений в рядку. [Квиток: 1267]
- Дзвінок alias.execute () у поєднанні з server_side_cursors не підвищуватиме AttributeError.
- Додана Список відображення підтримка Postgres, використовуючи велика пляма ми довго нехтували, представлений Кен Кульман. [Квиток: 714]
- Oracle
- Скоригований формат create_xid (), щоб відновити двухфазной фіксації. Тепер у нас є поле Звіти про Oracle двухфазного прийняття справного з цим зміною.
- Додана тип OracleNVarchar, виробляє NVARCHAR2, а також підкласи Unicode так що convert_unicode = True за замовчуванням. NVARCHAR2 автоматично відображає в цей тип, так що ці колонки пройти Unicode на відображення таблиці без будь-яких явних convert_unicode = True прапорів. [Квиток: 1233]
- Виправлена помилка, яка запобігала з Params деяких типів з приймається; завдяки т до huddlej на wwu.edu! [Квиток: 1265]
- MySQL
- & Quot;% & Quot; знаки в тексті () створює автоматично втік до & Quot; %% & Quot;. Через назад, несумісної природи цієї зміни, попередження випускається, якщо "%% 'виявлений в рядку.
- Виправлена помилка у виняткових підняти ставку, коли стовпчики FK немає при відображенні. [Квиток: 1241]
- Виправлена помилка, пов'язана з відображенням у таблиці дистанційного схеми з ключем роботі іноземної на інший стіл у цій схемі.
- associationproxy
- Властивості проксі Асоціації надають таку можливість на рівні класу, наприклад, MyClass.aproxy. Раніше це оцінюється Ні.
- декларативний
- повний список аргументів приймаються у вигляді рядка в backref () включає в себе "primaryjoin ',' secondaryjoin ',' вторинні ',' foreign_keys ',' remote_side ',' order_by».
Об'єкти
Метод
Вимоги
- Python
Коментар не знайдено