Sequel è molto più di un ORM. Si tratta di una soluzione completa per l'interazione con i database da Ruby, la gestione e l'interfacciamento con l'intero database, non solo i suoi dati.
Gli sviluppatori possono utilizzare la console IRB o proprio DSL di Sequel per assemblare rapidamente i database, gestire gli schemi, creare query SQL, le operazioni eseguite, recuperare i risultati, e convertire i risultati in un formato malleabile Ruby.
Funziona come un livello di astrazione tra Ruby e SQL, aiutando gli sviluppatori con competenze rubino, ma con la conoscenza di SQL minore.
banche dati e strumenti supportati:
ADO
Amalgalite
cubrid
DataObjects
DB2
DBI
Firebird
IBM_DB
Informix
JDBC
MySQL
Mysql2
ODBC
OpenBase
Oracle
PostgreSQL
SQLAnywhere
SQLite3
Swift
TinyTDS
Cosa c'è di nuovo in questa versione:
- Fai dataset.call_sproc (: inserto) lavoro l'adattatore JDBC
- Aggiungi plug update_refresh, per l'aggiornamento di un modello di esempio durante l'aggiornamento
- Aggiungi plug delay_add_association, per ritardare add_ * metodo invita nuovi oggetti fino a quando dopo aver salvato l'oggetto
- Aggiungi plug validate_associated, per la convalida di oggetti associati durante la convalida l'oggetto corrente
- Fai Postgres :: JSONBOp # [] e #get_text tornare casi JSONBOp
- Rimuovere la fdbsql, jdbc / fdbsql, e gli adattatori OpenBase
- Database # transazione ora restituisce il valore di ritorno del blocco se: rollback = & # X3e;: sempre viene utilizzato
- Lasciare PostgreSQL: le stringhe di connessione // come alias a Postgres: //, per la compatibilità con libpq
- Fai Modello # move_to nel plugin lista gestire out-of-range obiettivi senza sollevare eccezioni
- Fai Database # add_named_conversion_proc su PostgreSQL proc conversione maniglia per i tipi enum
Cosa c'è di nuovo nella versione 4.24.0:
- Fai dataset.call_sproc (: inserto) lavorano in l'adattatore JDBC
- Aggiungi plug update_refresh, per l'aggiornamento di un modello di esempio durante l'aggiornamento
- Aggiungi plug delay_add_association, per ritardare add_ * metodo invita nuovi oggetti fino a quando dopo aver salvato l'oggetto
- Aggiungi plug validate_associated, per la convalida di oggetti associati durante la convalida l'oggetto corrente
- Fai Postgres :: JSONBOp # [] e #get_text tornare casi JSONBOp
- Rimuovere la fdbsql, jdbc / fdbsql, e gli adattatori OpenBase
- Database # transazione ora restituisce il valore di ritorno del blocco se: rollback = & # X3e;: sempre viene utilizzato
- Lasciare PostgreSQL: le stringhe di connessione // come alias a Postgres: //, per la compatibilità con libpq
- Fai Modello # move_to nel plugin lista gestire out-of-range obiettivi senza sollevare eccezioni
- Fai Database # add_named_conversion_proc su PostgreSQL proc conversione maniglia per i tipi enum
Cosa c'è di nuovo nella versione 4.22.0:
- Fai JDBC / SQLAnywhere impostato correttamente: ingresso auto_increment in hash dello schema
- Aggiungi Model # cancel_action per annullare le azioni prima di ganci, invece di avere i ganci return false
- Il sostegno non impostazione @@ wait_timeout su MySQL tramite: timeout = & # X3e; opzione di database zero
- Aggiunto accessed_columns plug-in, la registrazione che le colonne sono state accessibili per un modello di esempio
- Utilizzare la versione migrazione corretta quando si utilizza IntegerMigrator con: allow_missing_migration_files
- Fai Dataset # unione, #intersect, e #except gestire automaticamente i set di dati con SQL prime
- column_conflicts Aggiunto plugin per gestire automaticamente le colonne che sono in conflitto con i nomi dei metodi
- Aggiunto Model # get_column_value e #set_column_value per ottenere / valori della colonna set
Cosa c'è di nuovo nella versione 4.21.0:
- Fai JDBC / SQLAnywhere impostato correttamente: ingresso auto_increment in hash dello schema
- Aggiungi Model # cancel_action per annullare le azioni prima di ganci, invece di avere i ganci return false
- Il sostegno non impostazione @@ wait_timeout su MySQL tramite: timeout = & # X3e; opzione di database zero
- Aggiunto accessed_columns plug-in, la registrazione che le colonne sono state accessibili per un modello di esempio
- Utilizzare la versione migrazione corretta quando si utilizza IntegerMigrator con: allow_missing_migration_files
- Fai Dataset # unione, #intersect, e #except gestire automaticamente i set di dati con SQL prime
- column_conflicts Aggiunto plugin per gestire automaticamente le colonne che sono in conflitto con i nomi dei metodi
- Aggiunto Model # get_column_value e #set_column_value per ottenere / valori della colonna set
Cosa c'è di nuovo nella versione 4.19.0:
- Fai JDBC / SQLAnywhere impostato correttamente: ingresso auto_increment in hash dello schema
- Aggiungi Model # cancel_action per annullare le azioni prima di ganci, invece di avere i ganci return false
- Il sostegno non impostazione @@ wait_timeout su MySQL tramite: timeout = & # X3e; opzione di database zero
- Aggiunto accessed_columns plug-in, la registrazione che le colonne sono state accessibili per un modello di esempio
- Utilizzare la versione migrazione corretta quando si utilizza IntegerMigrator con: allow_missing_migration_files
- Fai Dataset # unione, #intersect, e #except gestire automaticamente i set di dati con SQL prime
- column_conflicts Aggiunto plugin per gestire automaticamente le colonne che sono in conflitto con i nomi dei metodi
- Aggiunto Model # get_column_value e #set_column_value per ottenere / valori della colonna set
Cosa c'è di nuovo nella versione 4.18.0:
- Fai Dataset # vuoto? funziona quando il set di dati viene ordinato da un espressione non colonna.
- fissi il superamento di un valore di hash a:. Opzione associazione ansioso
- Trattare tutti :: eccezioni ConnectionBad PG come errori di disconnessione nella adattatore Postgres.
- Aggiunto:. Chiave auto_increment per le informazioni sullo schema per le colonne chiave primaria
- movimentazione fisso di schema tabelle qualificati in associazioni many_through_many.
Cosa c'è di nuovo nella versione 4.16.0:
- Fai Database # CREATE_TABLE? e #create_join_table? Non utilizzare SE NON ESISTE se si aggiungono gli indici
- Dataset # distinta ora accetta blocchi di righe virtuali
- Riconoscere gli errori scollegare l'adattatore Postgres quando si utilizza SSL
- Arresto convertire '' i valori di default per i valori di default nulli su MySQL
- Aggiunto Model # qualified_pk_hash, per la restituzione di un hash con le chiavi PK qualificati
- Fare validates_unique utilizzare una chiave primaria qualificato se il set di dati è unita li>
- Fai Sequel :: Model.cache_associations = false saltare cache dello schema del database quando si carica lo schema
- Fai Database # foreign_key_list lavoro su Microsoft SQL Server 2005
- Fai CREATE_TABLE con: l'opzione straniera reversibile su PostgreSQL
Cosa c'è di nuovo nella versione 4.9.0:
- aumento di velocità Massive Array PostgreSQL parser
- Aggiungi estensione current_datetime_timestamp, per le istanze Tempo / DateTime attuali che sono letteralizzato come CURRENT_TIMESTAMP
- Riconoscere ulteriori violazioni dei vincoli unici su SQLite
- Non rimuovere valore di colonna durante la convalida attributi nidificati per one_to_ * associazione in cui l'associazione chiave esterna è la chiave primaria del modello
- Aggiungi Dataset # disable_insert_returning su PostgreSQL per saltare uso implicito di tornare
- Ottimizza automaticamente modello. [], .with_pk, E .with_pk! per i modelli con chiavi composte
- Ottimizza automaticamente modello. [] Quando viene chiamato con un hash
- Riconoscere CONTROLLARE violazioni dei vincoli sulle versioni più recenti di SQLite
- Non tentare di caricare ansioso quando si chiama dataset # colonne nel plugin eager_each
- Supporto: opzione del driver per l'adattatore JDBC, per specificare classe di driver per i casi in cui getConnection non funziona
Cosa c'è di nuovo nella versione 4.3.0:
- Riconoscere un altro errore di disconnessione nella JDBC / adattatore AS400
- Fare Dataset # qualificare e Sequel.delay lavorare insieme
- Riconoscere tipo citext come stringa su PostgreSQL
- chiavi Supporto compositi il plugin rcte_tree
- chiavi Supporto compositi il plugin albero
- Fai Migrator.migrator_class pubblico
- Fai PostgreSQL vuota lavoro gamma letteralizzazione correttamente su PostgreSQL & # x3c; 8.4
- estensioni Aggiunto Sequel guida
- modello aggiunto plugin guida
Cosa c'è di nuovo nella versione 4.2.0:
- Aggiunti database # supports_partial_indexes? per verificare il supporto indice parziale.
- Il plugin static_cache ora non consente il salvataggio / distruggere se il:. Congelata = & # X3e; falso opzione non viene utilizzata li>
- Supporto: congelato = & # X3e; falso in opzione plug static_cache, per avere nuove istanze restituito al posto di istanze memorizzate nella cache congelati .
- Aggiunto estensione Database pg_static_cache_updater per l'ascolto per le modifiche alle tabelle e aggiornare automaticamente static_cache cache.
- Aggiunto estensione mssql_emulate_lateral_with_apply per emulare query laterale che utilizza CROSS / OUTER APPLY.
- query supporto laterale tramite Dataset # laterale.
Cosa c'è di nuovo nella versione 4.1.1:
- select_map fisso, select_order_map e metodi single_value su eager_graphed set di dati.
Cosa c'è di nuovo nella versione 4.0.0:
- analizzare correttamente le chiavi primarie composite su SQLite 3.7.16 +.
- Riconoscere un altro errore scollegare l'adattatore JDBC / Oracle.
- Aggiunto pg_json_ops estensione per richiamare le funzioni JSON e operatori in PostgreSQL 9.3 +.
- Maniglia non JSON semplici stringhe, interi e galleggianti in colonne PostgreSQL JSON in estensione pg_json.
- Dataset # d'ora accetta blocchi fila virtuale.
- Aggiunto Database # refresh_view su PostgreSQL per sostenere rinfrescante viste materializzate.
- Sostenere il database # drop_view:. If_exists opzione su PostgreSQL
- Sostenere il database # {creare, goccia} _Vedi: opzione materializzata per la creazione di viste materializzate in PostgreSQL 9.3 + .
- Sostenere il database # create_view: opzione ricorsiva per la creazione di viste ricorsive in PostgreSQL 9.3 + .
- Sostenere il database # create_view: opzione colonne per l'utilizzo di colonne esplicite .
Cosa c'è di nuovo nella versione 3.47.0:
- Non fallire per mancanza di conversione proc in pg_typecast_on_load plug-in
- Rinomina PGRangeOp #starts_before e #ends_after a #ends_before e #starts_after
- Aggiungi database # supports_schema_parsing? per il controllo per lo schema di analisi di supporto
- Maniglia hstore [] tipi di PostgreSQL se si utilizza le estensioni pg_array e pg_hstore
- Non reimpostare proc conversione durante il caricamento pg_ * estensioni
- tipi di dominio maniglia durante l'analisi dello schema su PostgreSQL
- tipi di dominio Manipolare tipi compositi nell'estensione pg_row
Cosa c'è di nuovo nella versione 3.43.0:
- Spostare il supporto #meta_def per il database, Dataset, e modello per l'estensione meta_def.
- Fix Database # copy_into su JDBC / Postgres quando viene sollevata un'eccezione.
- Aggiungi estensione core_refinements, fornendo versioni affinamento delle estensioni principali di Sequel.
- Fai Database # copy_into sollevare un DatabaseError se il database segnala un errore l'adattatore Postgres.
- Definisci respond_to_missing? dove method_missing è definito e l'oggetto supporta respond_to?.
- Lasciare proc lambda con 0 arity come blocchi di righe virtuali su Ruby 1.9.
Cosa c'è di nuovo nella versione 3.42.0:
- Se si verifica un'eccezione durante la commit di una transazione, tentativo a rollback.
- dimensioni delle colonne impostazione Supporto stringa di default su una base per-database tramite default_string_column_size.
- Reset Model.instance_dataset quando si estende set di dati del modello.
- Fare il lavoro force_encoding plug-in con le stringhe surgelati.
- Aggiunti database # fanno su PostgreSQL per utilizzando l'istruzione DO codice anonimo esecuzione del blocco.
- Model.dataset_methods rimosso.
Cosa c'è di nuovo nella versione 3.41.0:.
- Aggiunto bin / sequel guida utilizzo
- Fai Dataset # inversa e #reverse_order accettare blocchi fila virtuale.
- Aggiunto Sequel.delay per generici di valutazione in ritardo.
- Fai convalide unicità gestire correttamente i valori pari a zero.
- Supporto:. Opzione unlogged per CREATE_TABLE su PostgreSQL
Cosa c'è di nuovo nella versione 3.39.0:.
- Fissare defaults_setter per impostare i valori di default false
- Fissare interrogazione sequenza seriale nel database # primary_key_sequence su PostgreSQL.
- Aggiungi database # copy_into quando si utilizza l'adattatore Postgres con autista pg, per gli inserti molto veloci in tabelle.
- Combinare più operazioni alter_table in una singola query, ove possibile, su MySQL e PostgreSQL.
- Maniglia serie di operazioni alter_table su MySQL e MSSQL in cui le operazioni successive dipendono da quelle precedenti.
- Aggiungi constraint_validations plug per le convalide automatici di constaints definite per estensione.
- Aggiungi estensione constraint_validations per la definizione dei vincoli del database simili a convalide.
- Aggiungi database # supports_regexp? per il controllo di supporto alle espressioni regolari.
- Aggiungi Sequel.trim per la funzione multi-piattaforma trim.
- Aggiungi Sequel.char_length per la funzione multi-piattaforma CHAR_LENGTH.
- Fissaggio caching di versione del server MySQL.
Cosa c'è di nuovo nella versione 3.38.0:
- Sequel ora riconosce il doppio (x, y) e doppio (x, y) senza segno tipi MySQL.
- I subadapters veloci ora richiedono swift-db- * invece di rapida sé.
- Aggiungi:. TEXTSIZE opzione per tinytds adattatore per sovrascrivere il TEXTSIZE di default
- sostegno di un metodo di identificazione uscita l'adattatore rapido.
- Aggiungi Model # to_hash come alias per modellare i valori #.
- Quando si carica pg_ multipla * estensioni tramite database # estensione, ripristinare solo i procs di conversione una volta.
- Non permettere modello typecasting da stringa a Postgres array, hstore, o tipi compositi.
- Aggiungi plug-in per la conversione di tipi pg_typecast_on_load PostgreSQL avanzate sul carico della {JDBC, fare, veloce} / postgres adattatori.
- Fare tutte le schede che si connettono a PostgreSQL tipo di archivio proc conversione.
- Aggiungi tipo OID allo schema colonna su PostgreSQL.
Cosa c'è di nuovo nella versione 3.37.0:
- Lasciare che specifica di base eager_graph alias su una chiamata per- base utilizzando un AliasedExpression
- Lasciare bin / sequel di rispettare diverse opzioni -l per l'accesso a più file
- gestire correttamente i casi in cui SCOPE_IDENTITY è pari a zero l'adattatore ODBC / mssql
- Aggiungi estensione pg_interval, per la restituzione tipi di intervallo come istanze ActiveSupport :: Durata li>
- Salva un nuovo oggetto associato Lezioni Individuali una volta invece di due volte negli nested_attributes plug
- Non aggiungere condizione di filtro non necessario quando si passa un nuovo oggetto a un metodo Lezioni Individuali setter
- le differenze tra i riferimenti di colonna e metodo di riferimenti ad associazioni many_through_many
- Usa: qualificare = & # X3e;: opzione profondo quando si uniscono le tabelle in insiemi di dati di associazione modello
Cosa c'è di nuovo nella versione 3.36.1:.
- adattatore JDBC fisso quando DriverManager # getConnection non riesce
Cosa c'è di nuovo nella versione 3.35.0:
- gestire correttamente l'analisi dello schema per le tabelle in altri database su MySQL.
- Supporto DSL aggiunto per l'operatore modulo (%), simili agli operatori bit a bit.
- Fixed possibili problemi filo-sicurezza sulle implementazioni rubino non GVL.
- Consenti troncamento di tabelle multiple allo stesso tempo su PostgreSQL.
- Consentire troncare di prendere una: a cascata,: solo, e:. Opzioni di riavvio su PostgreSQL
- Consentire JSON e XML per supportare serializzatori: opzione di matrice in metodo di classe to_json per serializzare gamma esistente di istanze modello .
- Aggiunto plugin di sporco, che salva il valore iniziale della colonna quando il valore viene modificato.
Cosa c'è di nuovo nella versione 3.34.1:.
- bug in ottimizzazione di ricerca della chiave primaria
Cosa c'è di nuovo nella versione 3.33.0:
- Aggiungi la capacità di forzare o transazioni disattivare completamente nel migratori utilizzando l'opzione: use_transactions
- Aggiungi la capacità di spegnere le transazioni per le migrazioni chiamando no_transaction all'interno del blocco Sequel.migration
- Consenti specificamente scegliere quale migratore da utilizzare tramite TimestampMigrator.apply o IntegerMigrator.apply
- Aggiungi estensione arbitrary_servers per consentire l'utilizzo di server arbitrari / cocci, fornendo un hash di opzioni come il server
- Aggiungi estensione server_block per l'accesso al database portata all'interno del blocco a uno specifico server predefinito / frammento
- Rispetto: raccogliere opzione colonna a MySQL
- Usa Mysql2 :: :: client FOUND_ROWS per ottenere il numero esatto di righe abbinate l'adattatore mysql2
- usare MySQL # informazioni per ottenere il numero esatto di righe abbinate l'adattatore mysql
- Fare adattatore finto con uso dialetto specifica SQL predefiniti appropriati per citare identificatori
- Fai la lista plug impostare automaticamente il valore del campo di posizione sulla creazione se non è già impostato
- Aggiungi database # integer_booleans impostazione su SQLite per memorizzare numeri interi booleani come
- colonne Typecast memorizzati come numeri interi / galleggia l'adattatore SQLite
- nel plugin instance_hooks, (prima | dopo) _ * _ metodi di istanza gancio ora ritornano auto
- Maniglia NaN, Infinito, e -Infinity galleggia su PostgreSQL
Cosa c'è di nuovo nella versione 3.32.0:
- Fai serialization_modification_detection lavoro plug-in correttamente con nuovi oggetti e dopo risparmio di oggetti esistenti.
- Fai rinfresca dopo la creazione del modello cancellare i valori deserializzata nel plugin serializzazione.
- Aggiungi Dataset # update_ignore su MySQL, per l'utilizzo di UPDATE IGNORE nelle query.
- Lasciare select_map / select_order_map di prendere sia un argomento colonna e un blocco.
- Fissare la movimentazione blocco fila virtuale in select_map / select_order_map blocco if restituisce un array.
- Aggiungi impostazione Sequel.empty_array_handle_nulls, può essere impostata su false per un possibile migliorare le prestazioni su alcuni database.
- Cambia escludere (: b = & # X3e; []) non restituisce righe dove b è NULL .
- Supporto ActiveModel 3.2 nel plugin active_model, aggiungendo il supporto per to_partial_path.
- metodi Fix metadati (ad esempio tabelle) su Oracle quando si utilizzano i metodi di input identificatore personalizzato.
- Fix database # indici su DB2.
Cosa c'è di nuovo nella versione 2.5:
- Aggiungi #set_defaults e #set_overrides set di dati, utilizzati per la scoping valori utilizzati in insert dichiarazioni / update
- ammette i modelli di utilizzare la clausola RETURNING quando si inserisce record su PostgreSQL
- Aumentare Sequel :: DatabaseError invece di Sequel generico :: errore per gli errori di database, non ingerire traceback
- Usa INSERT ... Tornando ... con PostgreSQL 8.2 e superiori
- Fare insert_sql, delete_sql, e update_sql rispettare l'opzione: sql
- Predefinito per la conversione di 2 anni cifre, utilizzare Sequel.convert_two_digit_years = false per ottenere indietro il vecchio comportamento
- Fare l'adattatore di PostgreSQL con l'uso async_exec conducente pg, in modo da non bloccare l'intero interprete
- Fare i generatori dello schema di supporto composito e chiavi esterne e vincoli univoci
- Il lavoro con la versione 2008/08/17 della gemma pg
- Non permettere l'abuso di sintassi della funzione SQL per i tipi (utilizzo: tipo = & # X3e;: varchar,: dimensioni = & # X3e; 255 invece di: type = & # X3e;: varchar [255])
- nomi degli indici Citazione durante la creazione o eliminare gli indici
- Non hanno metodi colonna accessor sovrascrivono plug metodi di istanza
- Consentire la convalida dei più attributi in una sola volta, con il supporto incorporato per il controllo unicità di più colonne
- In adattatore PostgreSQL, fissare l'inserimento di una riga con un valore chiave primaria all'interno di una transazione
- Consenti before_save e before_update di influenzare le colonne salvate da save_changes
- Fai Dataset # single_value lavoro durante la rappresentazione grafica, che fissa conteggio e impaginare il set di dati graficamente
Requisiti :
- rubino 1.8.7 o superiore
I commenti non trovato