SQLAlchemy

Software screenshot:
SQLAlchemy
Rincian Software:
Versi: 0.9.8
Tanggal Upload: 17 Feb 15
Pengembang: Michael Bayer
Lisensi: Gratis
Popularitas: 25

Rating: 5.0/5 (Total Votes: 1)

SQLAlchemy adalah open source, platform-independen software perpustakaan dan bebas yang ditulis dalam bahasa pemrograman Python dan dirancang dari bawah ke atas untuk bertindak sebagai perpustakaan abstraksi database, ORM (Object Relational Mapper) dan SQL toolkit untuk Python.
Jika Anda & rsquo; re pengembang Python, SQLAlchemy akan memberikan Anda fleksibilitas penuh dan kekuatan SQL, menyediakan koleksi lengkap pola ketekunan tingkat perusahaan yang populer, yang telah dirancang untuk access.Features database yang berkinerja tinggi dan efisien pada software glanceThe sangat mudah digunakan, cukup kuat untuk tugas-tugas yang canggih, dan modular. Dengan SQLAlchemy Anda akan dapat mengatur tertunda operasi CRUD, memungkinkan penggunaan ekspresi boolean, fungsi, operator, alias meja, klausa UNION, berkorelasi ADA klausa, membuat, menyisipkan, menghapus dan permintaan pembaruan, subqueries dipilih, update berkorelasi, dalam dan luar bergabung, dan parameter mengikat.
Selain itu, dapat digunakan untuk menghasilkan database, serta introspeksi mereka, dukungan untuk objek memuat terkait dan koleksi, dukungan untuk menciptakan ketekunan transparan objek berdasarkan pola, dukungan untuk memanipulasi dan membangun model domain, serta dukungan untuk sinkronisasi semua perubahan dengan transaksi berjalan secara otomatis.
Di antara fitur-fitur lainnya, kita bisa menyebut sistem permintaan relasional yang berorientasi & rsquo; s mampu mengungkap semua SQL & rsquo; s fungsi, termasuk korelasi, bergabung dan subqueries, lapisan interaksi DBAPI, inti sistem konstruksi SQL, lengkap, mandiri abstraksi database lapisan, dukungan untuk extensible metadata SQL skema, bahasa ekspresi, koneksi penyatuan, jenis kustom dan jenis coercion.Supports berbagai program databasesThe termasuk dialek untuk berbagai server database dan mesin, termasuk MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, dan banyak lainnya.
Proyek ini adalah independen dari sistem operasi, yang berarti bahwa hal itu dapat dengan mudah digunakan dan digunakan pada setiap distribusi GNU / Linux, serta pada Microsoft Windows, BSD atau sistem operasi Mac OS X. 32-bit dan 64-bit arsitektur hardware yang didukung saat ini

Apa yang baru dalam rilis ini:.

  • orm:
  • [orm] [bug] [mesin] Fixed bug yang mempengaruhi umumnya kelas yang sama dari peristiwa seperti yang # 3199, ketika = True parameter bernama akan digunakan. Beberapa peristiwa akan gagal untuk mendaftar, dan lain-lain tidak akan memanggil argumen acara benar, umumnya dalam kasus ketika sebuah peristiwa adalah & quot; dibungkus & quot; untuk adaptasi dalam beberapa cara lain. The quot &; bernama & quot; mekanik telah disusun ulang untuk tidak mengganggu tanda tangan argumen yang diharapkan oleh fungsi wrapper internal.
  • [orm] [bug] Fixed bug yang mempengaruhi banyak kelas acara, khususnya acara ORM tetapi juga peristiwa mesin, di mana logika biasa & quot; de duplikasi & quot; panggilan berlebihan untuk event.listen () dengan argumen yang sama akan gagal, untuk peristiwa-peristiwa di mana fungsi pendengar dibungkus. Sebuah pernyataan akan terkena dalam registry.py. Penegasan ini kini telah diintegrasikan ke dalam cek deduplication, dengan bonus tambahan dari alat sederhana untuk memeriksa deduplication di seluruh papan.
  • [orm] [bug] Fixed peringatan bahwa akan memancarkan ketika primaryjoin self-referensial kompleks terkandung fungsi, sementara pada saat yang sama remote_side yang ditentukan; peringatan akan menyarankan pengaturan & quot; terpencil sisi & quot ;. Sekarang hanya memancarkan jika remote_side tidak hadir.
  • orm deklaratif:
  • [bug] [deklaratif] [orm] Tetap & quot; objek 'NoneType' tidak memiliki atribut 'beton' & quot; kesalahan saat menggunakan AbstractConcreteBase bersama dengan subclass yang menyatakan __abstract __.
  • mesin:
  • [mesin] [bug] Pilihan eksekusi diteruskan ke sebuah mesin baik melalui create_engine.execution_options atau Engine.update_execution_options () tidak diteruskan ke Connection khusus yang digunakan untuk menginisialisasi dialek dalam & quot; pertama terhubung & quot; Acara; dialek biasanya akan melakukan query sendiri dalam fase ini, dan tidak ada pilihan yang tersedia saat ini harus diterapkan di sini. Secara khusus, & quot; autocommit & quot; Pilihan menyebabkan upaya untuk Autocommit dalam awal ini menghubungkan yang akan gagal dengan AttributeError karena negara non-standar Connection.
  • [mesin] [bug] Kunci string yang digunakan untuk menentukan kolom yang terkena dampak untuk INSERT atau UPDATE sekarang diurutkan ketika mereka berkontribusi terhadap & quot; disusun Cache & quot; kunci Cache. Tombol ini sebelumnya tidak deterministik memerintahkan, yang berarti pernyataan yang sama bisa cache beberapa kali pada tombol yang setara, biaya baik dalam hal memori serta kinerja.
  • sql:
  • [sql] [bug] Fixed bug di mana cukup banyak elemen SQL dalam paket sql akan gagal __repr __ () berhasil, karena deskripsi atribut yang hilang yang kemudian akan memanggil overflow rekursi ketika AttributeError internal yang kemudian akan kembali -invoke __repr __ ().
  • [sql] [bug] Penyesuaian ke meja / index refleksi sehingga jika indeks melaporkan kolom yang tidak ditemukan untuk hadir dalam tabel, peringatan dibunyikan dan kolom dilewati. Hal ini dapat terjadi karena beberapa situasi kolom sistem khusus seperti yang telah diamati dengan Oracle.
  • [sql] [bug] Fixed bug di mana CTE literal_binds argumen compiler tidak akan selalu diperbanyak dengan benar ketika salah satu CTE disebut alias CTE lain dalam sebuah pernyataan.
  • [sql] [bug] Tetap 0.9.7 regresi disebabkan oleh # 3067 dalam hubungannya dengan unit test mis-nama seperti yang disebut & quot; skema & quot; jenis seperti Boolean dan Enum bisa lagi acar.
  • postgresql:
  • [postgresql] [fitur] [pg8000] Dukungan ditambahkan untuk & quot; multi-baris waras count & quot; dengan driver pg8000, yang berlaku terutama ketika menggunakan versi dengan ORM. Fitur ini versi terdeteksi berdasarkan pg8000 1.9.14 atau lebih digunakan. Tarik permintaan courtesy Tony Locke.
  • [postgresql] [bug] A kembali ke masalah ini pertama kali ditambal di 0.9.5, ternyata accessor .closed psycopg2 adalah tidak dapat diandalkan seperti kita mengasumsikan, jadi kami telah menambahkan pemeriksaan eksplisit untuk pesan pengecualian & quot; SSL error SYSCALL : Bad file descriptor & quot; dan & quot; SSL error SYSCALL: EOF terdeteksi & quot; ketika mendeteksi skenario yaitu-disconnect. Kami akan terus berkonsultasi psycopg2 ini
  • connection.closed sebagai cek pertama.
  • [postgresql] [bug] Fixed bug di mana Postgresql JSON jenis tidak mampu bertahan atau membuat nilai kolom SQL NULL, daripada JSON-encoded 'nol'. Untuk mendukung hal ini, perubahan adalah sebagai berikut:
  • Nilai nol () sekarang dapat ditentukan, yang akan selalu menghasilkan nilai NULL sehingga pernyataan itu.
  • Sebuah parameter baru JSON.none_as_null ditambahkan, yang ketika Benar menunjukkan bahwa Python Tidak ada nilai harus peristed sebagai SQL NULL, bukan JSON-encoded 'nol'.
  • retrival NULL sebagai None juga diperbaiki untuk DBAPIs selain psycopg2, yaitu pg8000.
  • [postgresql] [bug] Pengecualian sistem pembungkus untuk kesalahan DBAPI sekarang dapat mengakomodasi pengecualian DBAPI non-standar, seperti TransactionRollbackError psycopg2. Pengecualian ini sekarang akan dibangkitkan menggunakan subclass terdekat yang tersedia di sqlalchemy.exc, dalam kasus TransactionRollbackError, sqlalchemy.exc.OperationalError.
  • [postgresql] [bug] Fixed bug di mana objek postgresql.array dibandingkan dengan daftar Python polos akan gagal untuk menggunakan array konstruktor yang benar. Tarik permintaan kesopanan Andrew.
  • [postgresql] [bug] Ditambahkan FunctionElement.alias didukung () metode untuk fungsi, misalnya konstruk func. Sebelumnya, perilaku untuk metode ini adalah tidak terdefinisi. Meniru perilaku saat ini yang pra-0.9.4, yaitu bahwa fungsi ini berubah menjadi-kolom klausa dengan nama alias yang diberikan, di mana kolom sendiri anonim bernama.
  • mysql:
  • [mysql] [bug] [mysqlconnector] Mysqlconnector pada versi 2.0, mungkin sebagai efek samping dari python 3 gabungan, sekarang tidak mengharapkan tanda persen (misalnya seperti yang digunakan sebagai operator modulus dan lain-lain) menjadi dua kali lipat, bahkan ketika menggunakan & quot; pyformat & quot; format parameter terikat (perubahan ini tidak didokumentasikan oleh Mysqlconnector). Dialek sekarang memeriksa py2k dan mysqlconnector kurang dari versi 2.0 saat mendeteksi jika operator modulus harus diberikan sebagai %% atau%.
  • [mysql] [bug] [mysqlconnector] Unicode SQL kini berlalu untuk versi MySQLconnector 2.0 dan di atas; untuk Py2k dan MySQL & lt; 2.0, string dikodekan.
  • sqlite:
  • [sqlite] [bug] Ketika memilih dari UNION menggunakan file database terlampir, nama kolom laporan sopir pysqlite di cursor.description sebagai 'dbname.tablename.colname', bukan 'tablename.colname' seperti itu biasanya tidak untuk UNION (perhatikan bahwa itu seharusnya hanya menjadi 'colname' untuk kedua, tapi kami bekerja di sekitar itu). Terjemahan kolom logika di sini telah disesuaikan untuk mengambil token paling kanan, bukan token kedua, sehingga bekerja dalam kedua kasus. Solusi courtesy Tony Roberts
  • .
  • MSSQL:
  • [MSSQL] [bug] Tetap deteksi versi string dalam dialek pymssql untuk bekerja dengan Microsoft SQL Azure, yang mengubah kata & quot; SQL Server & quot; ke & quot; SQL Azure & quot;.
  • oracle:
  • [oracle] [bug] Fixed lama bug di Oracle dialek mana nama parameter terikat yang dimulai dengan angka tidak akan dikutip, Oracle tidak suka numeric dalam nama parameter terikat.
  • misc:
  • [bug] [deklaratif] Tetap kondisi balapan mungkin diamati dalam satu pengaturan pengguna akhir eksotis, di mana upaya untuk memeriksa & quot; duplikat nama kelas & quot; di deklaratif akan mendapat suatu referensi yang lemah tidak-benar-benar dibersihkan-up-terkait dengan beberapa kelas lain yang dihapus; cek di sini sekarang memastikan weakref masih referensi objek sebelum memanggil lebih lanjut.
  • [bug] [ext] Fixed bug dalam memesan daftar di mana urutan item akan terlempar selama koleksi ganti acara, jika bendera reorder_on_append yang ditetapkan untuk Benar. Memperbaiki memastikan bahwa daftar pemesanan hanya berdampak daftar yang secara eksplisit terkait dengan objek.
  • [bug] [ext] Fixed bug di mana ext.mutable.MutableDict gagal melaksanakan pembaruan () metode kamus, sehingga tidak menangkap perubahan. Tarik permintaan courtesy Matt Chisholm
  • .
  • [bug] [ext] Fixed bug di mana subclass kebiasaan ext.mutable.MutableDict tidak akan muncul dalam & quot; memaksa & quot; operasi, dan sebaliknya akan mengembalikan ext.mutable.MutableDict polos. Tarik permintaan courtesy Matt Chisholm
  • .
  • [bug] [pool] Fixed bug di kolam koneksi logging di mana quot &; koneksi memeriksa & quot; Pesan debug logging tidak akan memancarkan jika penebangan dibentuk menggunakan logging.setLevel (), daripada menggunakan bendera echo_pool. Tes untuk menegaskan penebangan ini telah ditambahkan. Ini adalah regresi yang diperkenalkan pada 0.9.0.

Apa yang baru dalam versi 0.5.0:

  • fitur baru
  • umum
  • Dokumentasi telah dikonversi ke Sphinx. Secara khusus, dokumentasi API yang dihasilkan telah dibangun menjadi sesak nafas & quot penuh; API Referensi & quot; Bagian yang menyelenggarakan dokumentasi editorial dikombinasikan dengan docstrings dihasilkan. Menghubungkan lintas antara bagian dan API docs yang jauh lebih baik, fitur pencarian javascript bertenaga disediakan, dan indeks penuh dari semua kelas, fungsi dan anggota disediakan.
  • setup.py sekarang mengimpor setuptools hanya opsional. Jika tidak hadir, distutils digunakan. Baru & quot; pip & quot; installer dianjurkan lebih easy_install seperti menginstal dengan cara yang lebih sederhana.
  • menambahkan ilustrasi yang sangat dasar dari sebuah integrasi PostGIS ke folder contoh.
  • orm
  • Query.with_polymorphic () sekarang menerima argumen ketiga & quot; discriminator & quot; yang akan menggantikan nilai mapper.polymorphic_on untuk query. Pemeta sendiri tidak lagi memerlukan polymorphic_on harus ditetapkan, bahkan jika mapper memiliki polymorphic_identity a. Ketika tidak diatur, mapper akan memuat non-polymorphically secara default. Bersama-sama, kedua fitur ini memungkinkan setup warisan beton non-polimorfik menggunakan beban polimorfik pada basis per-query, karena setup beton rentan terhadap banyak masalah ketika digunakan polymorphically dalam semua kasus.
  • dynamic_loader menerima query_class a = untuk menyesuaikan kelas Query digunakan untuk kedua koleksi dinamis dan query dibangun dari itu.
  • query.order_by () menerima ada yang akan menghapus setiap negara order_by tertunda dari query, serta membatalkan setiap mapper / hubungan dikonfigurasi pemesanan. Hal ini terutama berguna untuk mengesampingkan memesan ditentukan pada dynamic_loader sebuah (). [Tiket: 1079]
  • sql

  • Benda
  • RowProxy dapat digunakan di tempat kamus argumen yang dikirim ke connection.execute () dan teman-teman. [Tiket: 935]
  • dialek
  • Ditambahkan description_encoding atribut baru pada dialek yang digunakan untuk pengkodean nama kolom saat memproses metadata. Hal ini biasanya default untuk utf-8.
  • MSSQL
  • Ditambahkan dalam tipe MSGenericBinary baru. Ini peta dengan jenis Binary sehingga dapat menerapkan perilaku khusus mengobati panjang ditentukan jenis sebagai fixed-width jenis Biner dan jenis non-panjang sebagai variabel panjang jenis Binary terikat.
  • Ditambahkan dalam jenis baru: MSVarBinary dan MSImage. [Tiket: 1249]
  • Ditambahkan di MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset, dan jenis MSDateTime2
  • sqlite
  • Tabel refleksi kini menyimpan nilai DefaultClause sebenarnya untuk kolom. [Tiket: 1266]
  • perbaikan bug, perubahan perilaku
  • umum
  • orm
  • Pengecualian muncul selama compile_mappers () sekarang diawetkan untuk memberikan & quot; perilaku lengket & quot;
  • jika hasattr () panggilan pada dipetakan atribut-dikompilasi pra memicu gagal mengkompilasi dan menekan pengecualian, kompilasi berikutnya diblokir dan pengecualian akan menegaskan kembali pada kompilasi berikutnya () panggilan. Masalah ini sering terjadi ketika menggunakan deklaratif.
  • property.of_type () sekarang diakui pada target tunggal-tabel mewarisi, bila digunakan dalam konteks prop.of_type (..). Setiap () / memiliki (), serta query.join (prop. of_type (...)).
  • query.join () menimbulkan kesalahan ketika target bergabung tidak cocok dengan atribut-properti berbasis
  • sementara itu mungkin ada yang melakukan hal ini, penulis SQLAlchemy bersalah karena perilaku ini loosey-bodoh tertentu.
  • Fixed bug saat menggunakan weak_instance_map = False mana peristiwa yang dimodifikasi tidak akan dicegat untuk flush (). [Tiket: 1272]
  • Fixed beberapa mendalam & quot; kolom korespondensi & quot; isu yang dapat mempengaruhi Query dilakukan terhadap dipilih mengandung beberapa versi dari meja yang sama, serta serikat pekerja dan sejenis yang berisi kolom tabel yang sama dalam posisi kolom yang berbeda pada tingkat yang berbeda. [Tiket: 1268]
  • kelas pembanding kustom yang digunakan dalam hubungannya dengan column_property (), hubungan () dll dapat menentukan metode perbandingan baru pada komparator, yang akan menjadi tersedia melalui __getattr __ () pada InstrumentedAttribute. Dalam kasus sinonim () atau comparable_property (), atribut diselesaikan terlebih dahulu pada user-defined keterangan, maka pada user-defined pembanding.
  • Ditambahkan ScopedSession.is_active pengakses. [Tiket: 976]
  • Bisa lulus atribut dipetakan dan benda-benda kolom sebagai kunci untuk query.update ({}). [Tiket: 1262]
  • atribut dipetakan lulus dengan nilai-nilai () dari insert tingkat ekspresi () atau update () akan menggunakan tombol pada kolom dipetakan, tidak atribut dipetakan.
  • masalah Dikoreksi dengan Query.delete () dan Query.update () tidak bekerja dengan baik dengan parameter mengikat. [Tiket: 1242]
  • Query.select_from (), from_statement () memastikan bahwa argumen yang diberikan adalah FromClause, atau Teks / Pilih / Union, masing-masing.
  • Query () dapat melewati & quot; komposit & quot; atribut sebagai ekspresi kolom dan akan diperluas. Agak terkait dengan [tiket: 1253].
  • Query () adalah sedikit lebih kuat ketika melewati berbagai ekspresi kolom seperti string, clauselists, teks () konstruk (yang mungkin berarti hanya menimbulkan kesalahan lebih baik).
  • pertama () bekerja seperti yang diharapkan dengan Query.from_statement ().
  • Fixed bug diperkenalkan pada 0.5rc4 melibatkan eager loading tidak berfungsi untuk properti yang ditambahkan ke mapper pasca-kompilasi menggunakan add_property () atau setara.
  • Fixed bug di mana banyak-ke-banyak hubungan () dengan viewonly = True tidak akan benar referensi link antara secondary- & gt;. Jauh
  • item Gandakan dalam koleksi-daftar berbasis akan dipertahankan ketika mengeluarkan INSERT ke & quot; & quot sekunder; tabel dalam banyak-ke-banyak hubungan. Dengan asumsi tabel M2M memiliki kendala kunci unik atau primary di atasnya, ini akan meningkatkan pelanggaran kendala yang diharapkan bukan diam-diam menjatuhkan entri ganda. Perhatikan bahwa perilaku lama tetap untuk hubungan satu-ke-banyak karena entri koleksi dalam kasus itu tidak menghasilkan pernyataan INSERT dan SQLA tidak secara manual koleksi polisi. [Tiket: 1232]
  • Query.add_column () dapat menerima benda FromClause dalam cara yang sama seperti session.query () bisa.
  • Perbandingan banyak-ke-satu hubungan dengan NULL adalah benar dikonversi menjadi IS NOT NULL berdasarkan tidak _ ().
  • cek ekstra ditambahkan untuk memastikan eksplisit primaryjoin / secondaryjoin adalah contoh ClauseElement, untuk mencegah kesalahan yang lebih membingungkan nanti. [Tiket: 1087]
  • Peningkatan mapper () memeriksa kelas non-kelas. [Tiket: 1236]
  • argumen comparator_factory sekarang didokumentasikan dan didukung oleh semua jenis MapperProperty, termasuk column_property (), hubungan (), backref (), dan sinonim () [tiket: 5051].
  • Berubah nama dari PropertyLoader ke RelationProperty, agar sesuai dengan nama-nama lain. PropertyLoader masih ada sebagai sinonim.
  • tetap & quot; iter ganda () & quot; panggilan menyebabkan kesalahan bus di beling API, dihapus result.close bersalah () yang tersisa dari versi 0.4. [Tiket: 1099] [tiket: 1228]
  • membuat kaskade Session.merge tidak memicu autoflush. Perbaikan bergabung contoh mendapatkan prematur dimasukkan dengan nilai-nilai yang hilang.
  • Dua perbaikan untuk membantu mencegah out-of-band kolom dari yang diberikan dalam skenario warisan polymorphic_union (yang kemudian menyebabkan tabel tambahan yang akan diberikan dalam produk Cartesian klausa FROM menyebabkan):
  • perbaikan ke & quot; kolom adaptasi & quot; untuk a- & gt; & gt b-;. situasi c warisan untuk lebih mencari kolom yang terkait satu sama lain melalui berbagai tingkat tipuan, daripada render kolom non-disesuaikan
  • & quot; polimorfik discriminator & quot; kolom hanya diberikan untuk mapper sebenarnya dipertanyakan terhadap. Kolom tidak akan & quot; ditarik & quot; dari subclass atau mapper superclass karena itu tidak diperlukan.
  • argumen shard_id tetap pada ShardedSession.execute (). [Tiket: 1072]
  • sql
  • Kolom lagi dapat berisi tanda persen dalam nama mereka. [Tiket: 1256]
  • sqlalchemy.sql.expression.Function sekarang menjadi public class. Hal ini dapat subclassed untuk menyediakan fungsi SQL yang ditetapkan pengguna dalam gaya imperatif, termasuk dengan perilaku yang ditetapkan sebelumnya. Contoh postgis.py menggambarkan pemakaian satu ini.
  • PickleType sekarang nikmat perbandingan == secara default, jika objek yang masuk (seperti dict) menerapkan __eq __ (). Jika objek tidak mengimplementasikan __eq __ () dan bisa berubah = True, peringatan bantahan dinaikkan.
  • Tetap keanehan impor sqlalchemy.sql tidak mengekspor __names__. [Tiket: 1215]
  • Menggunakan objek ForeignKey yang sama berulang kali menimbulkan kesalahan bukannya diam-diam gagal nanti. [Tiket: 1238]
  • Ditambahkan NotImplementedError untuk params () method pada Insert / Update / Hapus konstruksi. Barang-barang ini saat ini tidak mendukung fungsi ini, yang juga akan menjadi sedikit menyesatkan dibandingkan dengan nilai-nilai ().
  • Tercermin kunci asing benar akan menemukan kolom mereka direferensikan, bahkan jika kolom diberi & quot; kunci & quot; atribut yang berbeda dari nama tercermin. Hal ini dicapai melalui bendera baru pada ForeignKey / ForeignKeyConstraint disebut & quot; & quot ;, link_to_name jika benar berarti nama yang diberikan tidak tombol yang ditetapkan yang dimaksud-nama kolom,. [Tiket: 650]
  • pilih () dapat menerima ClauseList sebagai kolom dengan cara yang sama sebagai meja atau dipilih lainnya dan ekspresi interior akan digunakan sebagai elemen kolom. [Tiket: 1253]
  • & quot; pasif & quot; bendera di session.is_modified () dengan benar disebarkan kepada manajer atribut.
  • union () dan union_all () tidak akan memukul setiap order_by () yang telah diterapkan pada pilih () yang ada di dalamnya. Jika Anda serikat () pilih () dengan order_by () (mungkin untuk mendukung LIMIT / OFFSET), Anda juga harus memanggil self_group () di atasnya untuk menerapkan kurung.
  • mesin / kolam
  • Connection.invalidate () cek status tertutup untuk menghindari kesalahan atribut. [Tiket: 1246]
  • NullPool mendukung menyambung kembali pada perilaku kegagalan. [Tiket: 1094]
  • Ditambahkan mutex untuk penciptaan kolam renang awal ketika menggunakan pool.manage (dbapi). Hal ini untuk mencegah kasus kecil & quot; Dogpile & quot; perilaku yang dinyatakan akan terjadi pada startup beban berat. [Tiket: 799]
  • _execute_clauseelement () kembali menjadi metode pribadi. Subclassing Connection tidak diperlukan sekarang bahwa ConnectionProxy tersedia.
  • dokumentasi
  • Tiket [tiket: 1200] [tiket: 1149].
  • Ditambahkan catatan tentang create_session () default.
  • Ditambahkan bagian tentang metadata.reflect ().
  • Diperbarui `bagian TypeDecorator`.
  • Menulis ulang & quot; ThreadLocal & quot; bagian strategi dari dokumentasi karena kebingungan terakhir atas fitur ini.
  • Dihapus buruk dari tanggal 'polymorphic_fetch' dan 'select_table' docs dari warisan, ulang paruh kedua & quot; bergabung meja warisan & quot;.
  • terdokumentasi `kwarg comparator_factory`, menambahkan bagian baru doc ​​& quot; Kustom Pembanding & quot;.
  • MSSQL
  • Refactored Tanggal jenis / Time. The `` smalldatetime`` tipe data tidak lagi memotong ke tanggal saja, dan sekarang akan dipetakan dengan jenis MSSmallDateTime. [Tiket: 1254]
  • Dikoreksi masalah dengan Numerik untuk menerima int.
  • dipetakan `` char_length`` ke `` LEN () `` fungsi.
  • Jika `` INSERT`` termasuk subselect yang `` INSERT`` dikonversi dari `` INSERT INTO VALUES`` membangun sebuah `` INSERT INTO SELECT`` membangun.
  • Jika kolom adalah bagian dari `` primary_key`` akan `` TIDAK NULL`` karena MSSQL tidak memungkinkan `` NULL`` dalam kolom primary_key.
  • `` MSBinary`` sekarang mengembalikan `` BINARY`` bukan sebuah `` IMAGE``. Ini adalah perubahan mundur kompatibel dalam `` BINARY`` adalah panjang tipe data tetap sedangkan `` IMAGE`` adalah variabel jenis panjang data. [Tiket: 1249]
  • `` get_default_schema_name`` kini tercermin dari database berdasarkan skema default pengguna. Ini hanya bekerja dengan MSSQL 2005 dan kemudian. [Tiket: 1258]
  • Ditambahkan pemeriksaan dukungan melalui penggunaan argumen pemeriksaan baru. Hal ini didukung pada jenis berikut: char, nchar, varchar, nvarchar, teks, ntext. [Tiket: 1248]
  • Perubahan parameter string koneksi mendukung DSN sebagai spesifikasi standar untuk pyodbc. Melihat docstring mssql.py untuk petunjuk penggunaan rinci.
  • Ditambahkan dukungan eksperimental savepoint. Saat ini tidak bekerja sepenuhnya dengan sesi.
  • Dukungan untuk tiga tingkat kolom nullability: NULL, NOT NULL, dan dikonfigurasi default database. Kolom konfigurasi default (nullable = True) sekarang akan menghasilkan NULL di DDL. Sebelumnya tidak ada spesifikasi yang dipancarkan dan default database yang akan berlaku (biasanya NULL, tetapi tidak selalu). Secara eksplisit meminta default database mengkonfigurasi kolom dengan nullable = Tidak ada dan tidak ada spesifikasi akan dipancarkan di DDL. Ini adalah mundur perilaku yang tidak kompatibel. [Tiket: 1243]
  • postgres
  • & quot;% & quot; tanda-tanda dalam teks () konstruk secara otomatis lolos ke & quot; %% & quot ;. Karena sifat mundur kompatibel perubahan ini, peringatan dipancarkan jika '%%' terdeteksi dalam string. [Tiket: 1267]
  • Memanggil alias.execute () dalam hubungannya dengan server_side_cursors tidak akan menaikkan AttributeError.
  • dukungan refleksi Ditambahkan Index ke Postgres, menggunakan patch besar kita lama diabaikan, yang diajukan oleh Ken Kuhlman. [Tiket: 714]
  • oracle
  • Disesuaikan format create_xid () untuk memperbaiki dua fase komit. Kami sekarang memiliki laporan lapangan dari Oracle dua fase komit bekerja dengan baik dengan perubahan ini.
  • Ditambahkan OracleNVarchar jenis, menghasilkan NVARCHAR2, dan juga subclass Unicode sehingga convert_unicode = True secara default. NVARCHAR2 mencerminkan ke jenis otomatis sehingga kolom ini lulus unicode di meja tercermin tanpa convert_unicode eksplisit = True bendera. [Tiket: 1233]
  • Fixed bug yang mencegah keluar params jenis tertentu dari yang diterima; terima kasih ton untuk huddlej di wwu.edu! [Tiket: 1265]
  • mysql
  • & quot;% & quot; tanda-tanda dalam teks () konstruk secara otomatis lolos ke & quot; %% & quot ;. Karena sifat mundur kompatibel perubahan ini, peringatan dipancarkan jika '%%' terdeteksi dalam string.
  • Fixed bug dalam pengecualian kenaikan gaji ketika kolom FK tidak hadir pada saat refleksi. [Tiket: 1241]
  • Fixed bug yang melibatkan refleksi meja jauh-skema dengan ref kunci asing ke meja lain dalam skema itu.
  • associationproxy
  • Hubungan sifat proxy menyempatkan diri di tingkat kelas, misalnya MyClass.aproxy. Sebelumnya ini dievaluasi ke Tidak ada.
  • deklaratif
  • Daftar lengkap argumen diterima sebagai string dengan backref () termasuk 'primaryjoin', 'secondaryjoin', 'foreign_keys' 'sekunder', 'remote_side', 'order_by'.

Persyaratan :

  • Python

Software yang serupa

MyJSQLView
MyJSQLView

20 Feb 15

CrudAlchemy
CrudAlchemy

20 Feb 15

Qore Oracle Module
Qore Oracle Module

19 Feb 15

Orbada
Orbada

14 Apr 15

Komentar untuk SQLAlchemy

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!