SQLObject è ampiamente utilizzato, liberamente distribuito e ORM open source (Object Relational Manager), noto anche come database di involucro, realizzato in Python e progettato per essere utilizzato come interfaccia oggetto a un database, con tabelle come classi , colonne come attributi e righe come le istanze.
Il software viene fornito con un linguaggio di query basata su Python-oggetto, che sarà utilizzato da develoopers per fornire una notevole indipendenza database per tutte le applicazioni, oltre che per rendere SQL più astratto.
Supporta tutti i principali server di database / motori
Un altro aspetto interessante del progetto SQLObject, è che esso supporta tutti i principali server di database e motori di database, tra cui il noto MySQL, PostgreSQL, Firebird, SQLite, Microsoft SQL Server, MaxDB (SAPDB), e Sybase. E 'compatibile con entrambi i linguaggi di programmazione Python 2.6 o 2.7.
Esempio Obbligatorio
Le seguenti righe di codice mostreranno sviluppatori / SQL Python che lavora il software SQLObject ...
>>> dall'importazione SQLObject *
>>>
>>> sqlhub.processConnection = connectionForURI ('sqlite: /: Memoria:')
>>>
>>> classe Persona (SQLObject):
... fname = STRINGCOL ()
... mi = STRINGCOL (lunghezza = 1, impostazione predefinita = Nessuno)
... lname = STRINGCOL ()
...
>>> Person.createTable ()
... e come si dovrebbe usare l'oggetto ...
>>> p = persona (fname = "John", lname = "Rossi")
>>> p
>>> p.fname
'John'
>>> p.mi = 'Q'
>>> p2 = person.get (1)
>>> p2
>>> p è p2
True
Funziona su qualsiasi sistema operativo supportato da Python
Essendo scritto in Python, SQLObject è multipiattaforma, supportato su tutti i sistemi operativi in cui Python 2.6 e Python 2.7 sono disponibili, tra cui tutte le distribuzioni GNU / Linux, così come i sistemi operativi Microsoft Windows e Mac OS X.
E 'facile facilmente installabile sia da suo pacchetto sorgente, utilizzando il & lsquo; sudo python setup.py install & rsquo; comando nella cartella principale, o easy_install, utilizzando il & lsquo; easy_install U SQLObject & rsquo; il comando, in un emulatore di terminale.
Il software è stato testato con successo con i computer a sostegno di una delle architetture set di istruzioni a 32 o 64 bit. Per maggiori informazioni, si prega di consultare il suo sito ufficiale (vedi la homepage sul link qui sotto)
Cosa c'è di nuovo in questa versione:.
< ul>
Cosa c'è di nuovo nella versione 2.1.0:
- caratteristiche minori:
- Nella query generati con tavoli colonne di SQLObject sono allineati nell'ordine in cui sono dichiarati nella tabella.
- Nelle query generate con del sqlbuilder Inserisci / Aggiorna, se i valori vengono passati usando dizionari, le colonne sono in ordine alfabetico.
- Le tabelle in SELECT ... FROM clausola sono allineati in ordine alfabetico.
- MySqlConnection, PostgresConnection e SQLiteConnection hanno ottenuto un nuovo listDatabases metodo (), che elenca i database nella connessione e restituisce un elenco di nomi.
- MySqlConnection, PostgresConnection e SQLiteConnection hanno ottenuto un nuovo ListTables metodo (), che restituisce un elenco di nomi di tabella nel database.
Cosa c'è di nuovo nella versione 1.5.0:
- Caratteristiche e interfaccia:
- Helpers per classe esterno sono state modificate di ricercare le colonne nelle dichiarazioni di tabella.
- Il supporto per Python 2.4 è dichiarato obsoleto e sarà rimosso nella prossima versione.
- caratteristiche minori:
- Quando un PostgresConnection solleva un'eccezione l'istanza ha gli attributi di codice / errore copiato da pgcode / pgerror attributi di psycopg2.
- valori enum Codifica Unicode a Str.
- setDeprecationLevel Rimosso dalla lista delle funzioni pubbliche.
- Una serie di correzioni per le prove.
- Bugfix:
- Un bug è stato risolto in DBConnection.close (); close () non genera un UnboundLocalError se connection pool è vuoto.
- parametri fissi per pymssql.
- Documentazione:
- Testo GNU LGPL è stata aggiunta come docs file / LICENZA.
- Old indirizzo FSF è stato cambiato in quello nuovo.
Cosa c'è di nuovo nella versione 1.4.0:.
- PostgresConnection è stato ottimizzato
- SQLObject ora utilizza INSERT ... RITORNO id per ottenere l'ID autoincremented in una query invece di due (Insert + SELECT id) (PostgreSQL 8.2 richiesto).
- SQLObject ora genera NCHAR / NVARCHAR e N '' - stringhe tra virgolette per MS SQL .
Cosa c'è di nuovo nella versione 1.2.0:
- Le stringhe sono trattati in modo speciale in Selezione per consentire Select ( ['id,' name '], dove =' value = 42 ').
- ForeignKey ('Tavolo', refColumn = 'refcol_id') permette ForeignKey di puntare a una colonna non id.
- Il supporto per PostgreSQL 7. * viene scartato; la versione minima supportata di PostgreSQL è 8.1.
- Come citare regole sono cambiate per PostgreSQL: SQLObject utilizza la E '' stringa di escape .
- Un bug causato da psycopg2 recente aggiunta di un nuovo attributo autocommit non-callable booleana è stato fissato.
- SQLObject .__ doc__ e principale .__ doc__ non contengono più il numero di versione:. uso sqlobject.version o version_info
Cosa c'è di nuovo nella versione 1.1.2:
- Un bug è stato risolto in SelectResults affettare che impediva affettare una fetta di (ad esempio, my_results [20] [1: 5]).
Cosa c'è di nuovo nella versione 0.12.2:.
- Bugfix porting da SQLObject 0.11.4
Cosa c'è di nuovo nella versione 0.10.6:
- Migliorato il supporto per Python 2.6: non importare il Modulo set deprecato.
- Una serie di modifiche porting da SQLObject 0.9.11.
Cosa c'è di nuovo nella versione 0.10.4:
- createSQL vincola generazione è stato fissato in base MySQL quando il Il nome di tabella include il nome del database (contiene un punto).
Cosa c'è di nuovo nella versione 0.10.3:
- interpretazione Cambiato di stringhe nel DB URI per booleano parametri:. '0', 'no', 'off' e 'falso' sono ora interpretato come FALSO
- Risolto un bug con gestione non corretta di chiamate come connectionForURI (dburi, cache = False) quando dburi contiene già alcuni parametri nel URI.
- Convertire decimal.to_eng_string () per STR per risolvere un bug in Python 2.5.2; vedi http://mail.python.org/pipermail/python-dev/2008-March/078189.html
- Aggiunto test_default_style.py.
- Risolto un bug minore nel SQLiteConnection che non riesce ad analizzare le colonne Enum.
Requisiti :
- Python
I commenti non trovato