SQLAlchemy

Tela Software:
SQLAlchemy
Detalhes de Software:
Versão: 0.9.8
Data de upload: 17 Feb 15
Revelador: Michael Bayer
Licença: Livre
Popularidade: 25

Rating: 5.0/5 (Total Votes: 1)

SQLAlchemy é uma fonte aberta, independente de plataforma de software biblioteca e acesso escrito na linguagem de programação Python e projetado a partir do zero para funcionar como uma biblioteca de abstração de banco de dados, ORM (Object Relational Mapper) e SQL kit de ferramentas para Python.
Se você & rsquo; re um desenvolvedor Python, SQLAlchemy lhe dará o total flexibilidade e poder de SQL, proporcionando uma coleção completa de padrões de persistência populares de nível empresarial, que foram projetados para access.Features de alto desempenho e eficientes de banco de dados em um software glanceThe É extremamente fácil de usar, poderoso o suficiente para tarefas sofisticadas e modular. Com SQLAlchemy você vai ser capaz de organizar pendente operações CRUD, permite o uso de expressões booleanas, funções, operadores, aliases de mesa, cláusulas UNION, correlacionado EXISTE cláusulas, criar, insert, delete e consultas de atualização, subqueries selecionáveis, atualizações correlacionadas, interior e associações externas, e os parâmetros de ligação.
Além disso, ele pode ser usado para gerar bases de dados, bem como para a introspecção-los, suporte para objetos e coleções de carga relacionada, o apoio à criação de persistência transparente de objetos com base em padrões, o apoio para a manipulação e construção de modelos de domínio, bem como suporte para sincronização todas as mudanças com a transação atual automaticamente.
Entre outras características, podemos citar um sistema de consulta orientada a relationally que & rsquo; s capaz de expor todos SQL & rsquo; s funcionalidade, incluindo correspondência, junta-se e subqueries, uma camada de interação DBAPI, um sistema de construção SQL core, uma completa abstração de dados independente camada, o suporte para metadados extensível esquema SQL, linguagem de expressão, o pool de conexão, tipos personalizados e tipo coercion.Supports uma grande variedade de databasesThe programa inclui dialetos para uma ampla variedade de servidores e bancos de dados, incluindo MySQL, PostgreSQL, Firebird, Oracle, Microsoft SQL Server, SQLite, Sybase, e muitos outros.
O projeto é independente de um sistema operacional, o que significa que ele pode ser facilmente implantado e utilizado em qualquer distribuição GNU / Linux, bem como sobre o Microsoft Windows, BSD ou sistemas operacionais Mac OS X. Ambas as arquiteturas de hardware de 32 bits e de 64 bits são suportados neste momento

O que é novo nesta versão:.

  • ORM:
  • [ORM] [bug] [motor] Corrigido o erro que afetou geralmente as mesmas classes de evento como o de # 3199, quando o chamado = True parâmetro seria usado. Alguns eventos iria deixar de registrar, e outros não iria invocar os argumentos do evento corretamente, geralmente no caso de quando um evento era & quot; envolto & quot; para adaptação de alguma outra forma. O & quot; chamado & quot; mecânica foram reorganizados para não interferir com a assinatura argumento esperado pelo funções de invólucro interno.
  • [ORM] [bug] Corrigido o erro que afetou muitas classes de evento, em especial eventos ORM, mas também eventos de motor, onde a lógica habitual de & quot; de duplicação & quot; uma chamada redundante para event.listen () com os mesmos argumentos seria um fracasso, para os eventos onde a função de ouvinte é envolvido. Uma afirmação seria atingido dentro registry.py. Esta afirmação foi agora integrado no cheque desduplicação, com a vantagem adicional de um meio mais simples de verificar a desduplicação em toda a linha.
  • [ORM] [bug] aviso de que emitiria quando um primaryjoin auto-referencial complexo funções contidas, ao mesmo tempo remote_side foi especificado fixo; o aviso poderia sugerir a criação & quot; remoto lado & quot ;. Ele agora só emite se remote_side não está presente.
  • ORM declarativa:
  • [bug] [declarativa] [ORM] Fixa & quot; objeto 'NoneType' não tem nenhum atributo 'concreto' & quot; erro ao utilizar AbstractConcreteBase em conjunto com uma subclasse que declara __abstract __.
  • motor:
  • [motor] [bug] As opções de execução passados ​​para um motor ou via create_engine.execution_options ou Engine.update_execution_options () não são passados ​​para a conexão especial usado para inicializar o dialeto dentro do & quot; conecte primeiro & quot; evento; dialetos normalmente irá executar suas próprias consultas nesta fase, e nenhuma das atuais opções disponíveis devem ser aplicados aqui. Em particular, o & quot; autocommit & quot; opção estava causando uma tentativa de autocommit dentro deste conectar inicial que seria um fracasso com uma AttributeError devido ao estado não-padrão da conexão.
  • [motor] [bug] As chaves de string que são usados ​​para determinar as colunas afetadas por uma inserção ou atualização são classificados agora quando eles contribuem para a quot &; compilado de cache & quot; chave de cache. Essas chaves foram previamente não deterministically ordenada, ou seja, a mesma afirmação pode ser armazenada em cache várias vezes em chaves equivalentes, custando tanto em termos de memória, bem como o desempenho.
  • sql:
  • [sql] [bug] Corrigido o erro quando um bom número de elementos SQL dentro do pacote sql não seria suficiente para __repr __ () com sucesso, devido a um atributo de descrição ausentes e que, em seguida, chamar um estouro de recorrência quando uma AttributeError interno, então, re -invoke __repr __ ().
  • [sql] [bug] Um ajuste na tabela / index reflexão de tal forma que se um índice relata uma coluna que não é encontrado para estar presente na mesa, um aviso é emitido e a coluna é ignorada. Isso pode ocorrer por algumas situações especiais coluna sistema como tem sido observado com Oracle.
  • [sql] [bug] Corrigido o erro no CTE onde literal_binds argumento compilador não seria sempre ser corretamente propagada quando uma CTE encaminhados para outro CTE alias em um comunicado.
  • [sql] [bug] Fixo 0.9.7 regressão causada por # 3067 em conjunto com um teste de unidade com nome de mis de tal forma que o chamado & quot; esquema & quot; tipos como booleana e Enum não podia mais ser conservado.
  • PostgreSQL:
  • [PostgreSQL] [recurso] [pg8000] É adicionado suporte para & quot; sane a Linha de Multi contagem & quot; com o motorista pg8000, que se aplica principalmente ao usar o controle de versão com o ORM. O recurso é detectada-versão com base em pg8000 1.9.14 ou mais em uso. Puxe pedido cortesia Tony Locke.
  • [PostgreSQL] [bug] A revisitar a esta questão primeira remendado em 0.9.5, aparentemente acessor .closed de psycopg2 não é tão confiável quanto nós assumimos, por isso, nós adicionamos uma verificação explícita para as mensagens de exceção & quot; erro SYSCALL SSL : Bad descritor de arquivo & quot; e & quot; erro SYSCALL SSL: EOF detectado & quot; ao detectar um cenário é de desconexão. Vamos continuar a consultar de psycopg2 connection.closed como um primeiro cheque.
  • [PostgreSQL] [bug] Corrigido o erro quando tipo Postgresql JSON não foi capaz de persistir ou tornar um valor de coluna SQL NULL, em vez de um JSON codificado 'null'. Para apoiar este processo, as mudanças são as seguintes:
  • O valor nulo () agora pode ser especificado, que sempre resultará em um valor NULL, resultando em um comunicado.
  • Um novo parâmetro JSON.none_as_null é adicionado, que quando True indica que o valor Nenhum Python deve ser peristed como SQL NULL, em vez de JSON-codificado 'null'.
  • retrival de NULL como Nada é também reparado para outros fins que psycopg2, nomeadamente pg8000 DBAPIs.
  • [PostgreSQL] [bug] O sistema de acondicionamento de exceção para erros DBAPI agora pode acomodar exceções DBAPI não-padrão, como o TransactionRollbackError psycopg2. Estas excepções vai agora ser levantadas utilizando a subclasse mais próximo disponível em sqlalchemy.exc, no caso de TransactionRollbackError, sqlalchemy.exc.OperationalError.
  • [PostgreSQL] [bug] Corrigido o erro no objeto postgresql.array onde comparação com uma lista Python simples deixaria de usar o construtor de matriz correta. Puxe pedido cortesia Andrew.
  • método [PostgreSQL] [Bug] adicionou um FunctionElement.alias suportados () para as funções, por exemplo, a construção de func. Anteriormente, o comportamento para este método foi indefinido. As correntes de comportamento que imita de pré-0.9.4, o que é que a função é transformado em uma única coluna cláusula FROM com o nome do alias dado, onde a própria coluna é chamado de forma anônima.
  • mysql:
  • [mysql] [bug] [mysqlconnector] Mysqlconnector a partir da versão 2.0, provavelmente como um efeito colateral da fusão python 3, agora não espera sinais de porcentagem (por exemplo, usado como o operador módulo e outros) para ser duplicada, mesmo quando se usa o & quot; pyformat & quot; Formato de parâmetro ligado (esta mudança não é documentado por Mysqlconnector). O dialeto agora verifica py2k e para mysqlconnector menos do que a versão 2.0 Ao detectar se o operador módulo deve ser processado como %% ou%.
  • [mysql] [bug] [mysqlconnector] Unicode SQL está agora passou para a versão 2.0 e acima MySQLconnector; para Py2k e MySQL & lt; 2.0, cordas são codificados.
  • sqlite:
  • [sqlite] [bug] Ao selecionar a partir de uma UNIÃO usando um arquivo de banco de dados em anexo, os nomes das colunas relatórios motorista pysqlite em cursor.description como 'dbname.tablename.colname', em vez de 'tablename.colname' como faz normalmente Para uma União (note que é suposto ser apenas 'colname' para ambos, mas nós trabalhamos em torno dele). A lógica tradução aqui coluna foi ajustada para recuperar o símbolo mais à direita, em vez de o segundo símbolo, por isso, funciona em ambos os casos. Solução cortesia Tony Roberts.
  • mssql:
  • [mssql] [bug] Fixa a detecção versão corda no dialeto pymssql para trabalhar com o Microsoft SQL Azure, que muda a palavra & quot; SQL Server & quot; para & quot; SQL Azure & quot;.
  • oracle:
  • [Oracle] [bug] fixa de longa data bug no dialeto Oracle, em que os nomes dos parâmetros vinculados que começaram com números não ser citado, como a Oracle não gosta numerics em nomes de parâmetros ligados.
  • Misc:
  • [bug] [declarativa] Corrigido um condição de corrida improvável observado em algumas configurações de usuário final exóticos, onde a tentativa de verificar se há & quot; duplicar nome & quot classe; em declarativa iria bater em cima de uma referência fraca não-totalmente limpo-up-relacionado a uma outra classe que está sendo removida; o cheque aqui agora garante a weakref ainda faz referência a um objeto antes de solicitar a la ainda mais.
  • [bug] [ext] Corrigido o erro na lista, onde a ordem dos itens seria jogado fora durante uma coleção substituir evento, se a bandeira reorder_on_append foram definidos como True encomendar. A correção garante que a lista de ordenação únicos impactos da lista que é explicitamente associado ao objeto.
  • [bug] [ext] Corrigido o erro quando ext.mutable.MutableDict não conseguiu implementar o update () método de dicionário, portanto, não captura mudanças. Puxe pedido cortesia Matt Chisholm.
  • [bug] [ext] Corrigido o erro quando uma subclasse personalizada de ext.mutable.MutableDict não iria aparecer em uma & quot; coagir & quot; operação, e, ao invés, retornar um ext.mutable.MutableDict simples. Puxe pedido cortesia Matt Chisholm.
  • [bug] [piscina] Corrigido o erro no registro de pool de conexão onde o & quot; conexão check-out & quot; mensagem de registro de depuração não emitiria se o logging foram criadas usando logging.setLevel (), ao invés de usar a bandeira echo_pool. Testes para afirmar esta logging foram adicionadas. Esta é uma regressão que foi introduzido no 0.9.0.

O que é novo na versão 0.5.0:

  • novos recursos
  • geral
  • A documentação foi convertida para Sphinx. Em particular, a documentação da API gerada foi construído em um quot completo soprado &; API Reference & quot; seção que organiza documentação editorial combinada com docstrings gerados. A ligação cruzada entre as seções e documentação da API são melhoraram, um recurso de pesquisa movidos a javascript é fornecido, e um índice completo de todas as classes, funções e membros é fornecido.
  • setup.py agora importa setuptools apenas opcionalmente. Se não estiver presente, distutils é usado. O novo & quot; pip & quot; instalador é recomendado sobre easy_install como ele instala de forma mais simplificada.
  • adicionou uma ilustração extremamente básico de uma integração PostGIS para a pasta exemplos.
  • ORM
  • Query.with_polymorphic () agora aceita um terceiro argumento & quot; discriminador & quot; que irá substituir o valor de mapper.polymorphic_on para essa consulta. Mappers si já não exigem polymorphic_on a ser definido, mesmo que o recurso de mapeamento tem um polymorphic_identity. Quando não estiver definido, o mapeador carregará não polymorphically por padrão. Juntas, essas duas características permitem uma configuração de herança concreta não polimórfico de usar carregamento polimórficos em uma base per-consulta, desde configurações concretas são propensos a muitas questões quando usado polymorphically em todos os casos.
  • dynamic_loader aceita um query_class = personalizar as classes de consulta utilizados para a recolha dinâmica e as consultas construídas a partir dele.
  • query.order_by () aceita Nada que irá remover qualquer estado order_by pendente a partir da consulta, bem como anular qualquer mapper / relação de ordem configurada. Isso é útil principalmente para substituir a ordenação especificada em um dynamic_loader (). [Ticket: 1079]
  • sql

  • Objetos
  • RowProxy pode ser usado em lugar de argumentos dicionário enviados para Connection.Execute () e amigos. [Ticket: 935]
  • dialeto
  • Adicionado um novo atributo description_encoding no dialeto que é usado para codificar o nome da coluna durante o processamento de metadados. Isso geralmente o padrão é UTF-8.
  • mssql
  • Adicionado em um novo tipo MSGenericBinary. Este mapeia para o tipo binário para que ele possa implementar o comportamento especializado de tratamento de tipos de comprimento especificado como tipos binários de largura fixa e tipos não-comprimento que um comprimento variável do tipo Binary não ligado.
  • Adicionado em novos tipos: MSVarBinary e MSImage. [Ticket: 1249]
  • Adicionado na MSReal, MSNText, MSSmallDateTime, MSTime, MSDateTimeOffset e tipos MSDateTime2
  • sqlite
  • Tabela reflexão agora armazena o valor DefaultClause real para a coluna. [Ticket: 1266]
  • correções, mudanças de comportamento
  • geral
  • ORM
  • Exceções levantadas durante compile_mappers () agora são preservados para fornecer & quot; comportamento pegajoso & quot;
  • Se uma chamada hasattr () em um atributo pré-compilados mapeados desencadeia uma falha compilar e suprime a exceção, compilação posterior é bloqueado e uma exceção será reiterado na próxima compilação (call). Esse problema ocorre com freqüência quando se utiliza declarativa.
  • property.of_type () agora é reconhecido em um alvo de mesa única herança, quando usado no contexto de prop.of_type (..). Any () / tem (), bem como query.join (prop. of_type (...)).
  • query.join () gera um erro quando o alvo da associação não coincide com o atributo baseado em propriedade
  • enquanto é improvável que alguém está fazendo isso, o autor SQLAlchemy era culpado deste comportamento particular plácida.
  • Corrigido o erro ao usar weak_instance_map = False onde os eventos modificados não seria interceptado por um flush (). [Ticket: 1272]
  • Corrigido alguns deep & quot; coluna correspondência & quot; questões que poderiam impactar uma consulta feita contra um selecionável contendo várias versões da mesma mesa, bem como sindicatos e semelhante que continham as mesmas colunas da tabela em diferentes posições de colunas em níveis diferentes. [Ticket: 1268]
  • aulas de comparação personalizado usado em conjunto com column_property (), relação () etc. pode definir novos métodos de comparação sobre a comparação, que estarão disponíveis via __getattr __ () no InstrumentedAttribute. No caso de sinónimos () ou comparable_property (), atributos são resolvidos pela primeira vez no descritor definido pelo utilizador, em seguida, o comparador definido pelo utilizador.
  • Adicionado ScopedSession.is_active acessor. [Ticket: 976]
  • Pode passar atributos mapeadas e objetos de coluna como chaves para query.update ({}). [Ticket: 1262]
  • atributos mapeadas passados ​​para os valores () de uma inserção nível de expressão () ou update () vai usar as chaves das colunas mapeadas, não a do atributo mapeado.
  • problema corrigido com Query.delete () e Query.update () não está funcionando corretamente com os parâmetros de ligação. [Ticket: 1242]
  • Query.select_from (), from_statement () assegurar que o argumento dado é um FromClause, ou Texto / Select / Union, respectivamente.
  • Consulta () pode ser passado um & quot; composite & quot; atributo como uma expressão de coluna e será expandido. Algo relacionado com [ticket: 1253].
  • query () é um pouco mais robusto, quando passou várias expressões de coluna, como cordas, clauselists, texto () construções (o que pode significar que apenas gera um erro mais bem).
  • first () funciona como o esperado com Query.from_statement ().
  • Corrigido o erro introduzido em 0.5rc4 envolvendo carga antecipada não está funcionando para as propriedades que foram adicionados a um mapeador de pós-compilação, através add_property () ou equivalente.
  • Corrigido o erro onde muitos-para-muitos relação () com viewonly = True não faria referência corretamente a ligação entre secondary- & gt;. Remoto
  • itens duplicados em uma coleção com base em lista será mantida quando da emissão de inserções para a & quot; secundário & quot; mesa em uma relação muitos-para-muitos. Assumindo que a tabela de M2M tem uma restrição de chave única ou principal sobre ele, isso vai aumentar a violação de restrição esperado, em vez de cair silenciosamente as entradas duplicadas. Note-se que o comportamento antigo continua a ser para uma relação de um-para-muitos, desde entradas da coleção, nesse caso, não resultam em instruções INSERT e SQLA não manualmente coleções policiais. [Ticket: 1232]
  • Query.add_column () pode aceitar objetos FromClause da mesma maneira como session.query () pode.
  • Comparação da relação muitos-para-um para NULL é devidamente convertido para IS NOT NULL com base em não _ ().
  • verificações extras adicionados para garantir explícita primaryjoin / secondaryjoin são instâncias ClauseElement, para evitar erros mais confuso mais tarde. [Ticket: 1087]
  • mapeador Improved () verificar a existência de classes não-classe. [Ticket: 1236]
  • argumento comparator_factory agora está documentado e apoiado por todos os tipos MapperProperty, incluindo column_property (), relação (), backref (), e sinónimos () [ticket: 5051].
  • Mudou o nome de PropertyLoader para RelationProperty, para ser coerente com todos os outros nomes. PropertyLoader ainda está presente como um sinônimo.
  • fixo & quot; double iter () & quot; chamada causando erros de ônibus na API caco, removido result.close errante () que sobraram da versão 0.4. [Ticket: 1099] [ticket: 1228]
  • cascatas Session.merge feitas não desencadear autoflush. Correções mescladas instâncias ficar prematuramente inserido com valores em falta.
  • Duas correções para ajudar a prevenir colunas out-of-band que está sendo processado em cenários de herança polymorphic_union (que, em seguida, faz com mesas extras a serem prestados na cláusula from causando produtos cartesiano):
  • melhorias para & quot; coluna adaptação & quot; para a- & gt; b- & gt;. c situações de herança para melhor localizar as colunas que estão relacionados uns com os outros através de múltiplos níveis de engano, ao invés de tornar a coluna não-adaptado
  • & quot; discriminador polimórfico & quot; coluna só é processado para o mapeador real que está sendo consultado contra. A coluna não irá ser? Puxado em? a partir de uma subclasse ou mapeador superclasse uma vez que não é necessário.
  • argumento shard_id fixo em ShardedSession.execute (). [Ticket: 1072]
  • sql
  • As colunas podem novamente contêm sinais de porcentagem dentro de seus nomes. [Ticket: 1256]
  • sqlalchemy.sql.expression.Function é agora uma classe pública. Ele pode ser uma subclasse para fornecer funções SQL definidas pelo usuário em um estilo imperativo, inclusive com comportamentos pré-estabelecidos. O exemplo ilustra uma postgis.py uso deste.
  • PickleType agora favorece comparação == por padrão, se o objeto de entrada (como um dicionário) implementa __eq __ (). Se o objeto não implementa __eq __ () e mutável = True, um aviso de reprovação é elevado.
  • Fixa a esquisitice de importação em sqlalchemy.sql de não exportar __names__. [Ticket: 1215]
  • Usando o mesmo objeto ForeignKey repetidamente gera um erro em vez de silêncio não mais tarde. [Ticket: 1238]
  • método Adicionado NotImplementedError para params () em Insert / Update / Delete construções. Esses itens atualmente não suportam esta funcionalidade, o que também seria um pouco enganador em comparação com os valores ().
  • chaves estrangeiras Reflected irá localizar corretamente a sua coluna referenciada, mesmo que a coluna foi dado um & quot; & quot; chave atributo diferente do nome reflectida. Isto é conseguido através de uma nova bandeira no ForeignKey / ForeignKeyConstraint chamado & quot; link_to_name & quot ;, se True significa o nome dado é a não sua chave atribuída refere-ao nome de coluna,. [Ticket: 650]
  • seleccione () pode aceitar um ClauseList como uma coluna da mesma maneira como uma mesa ou outra seleccionável e as expressões interiores vai ser utilizado como elementos de coluna. [Ticket: 1253]
  • & quot; passiva & quot; bandeira em session.is_modified () é corretamente propagadas para o gerente de atributo.
  • sindicato () e union_all () não vai bater qualquer order_by () que foi aplicada ao select () está dentro. Se você união () um select () com order_by () (presumivelmente para apoiar LIMIT / OFFSET), você também deve chamar self_group () sobre ele para aplicar parênteses.
  • motor / piscina
  • Connection.invalidate () verifica o status fechado para evitar erros de atributos. [Ticket: 1246]
  • NullPool suporta reconectar no comportamento fracasso. [Ticket: 1094]
  • Adicionado um mutex para a criação inicial piscina ao usar pool.manage (dbapi). Isso impede que um caso menor de & quot; dogpile & quot; comportamento que poderiam ocorrer em cima de uma startup carga pesada. [Ticket: 799]
  • _execute_clauseelement () volta a ser um método particular. Connection Subclassing não é necessário agora que ConnectionProxy está disponível.
  • documentação
  • Ingressos [de ingressos: 1200] [de ingressos: 1149].
  • Adicionado nota sobre create_session () padrões.
  • Adicionada uma seção sobre metadata.reflect ().
  • Atualizado seção `TypeDecorator`.
  • Reescrita da & quot; ThreadLocal & quot; seção de estratégia dos docs devido a recente confusão sobre esse recurso.
  • Removido mal fora de data 'polymorphic_fetch' e docs 'select_table' de herança, refez o segundo semestre de & quot; se juntou a herança de tabelas & quot;.
  • documentado `comparator_factory` kwarg, acrescentou nova seção doc & quot; personalizada comparadores & quot;.
  • mssql
  • Refatorada os tipos Data / Hora. O tipo de dados `` smalldatetime`` já não trunca a apenas uma data, e agora será mapeado para o tipo MSSmallDateTime. [Ticket: 1254]
  • Corrigido um problema com Numerics a aceitar um int.
  • mapeada `` char_length`` ao LEN () `` função ``.
  • Se um `` INSERT`` inclui um subconjunto do `` INSERT`` é convertido a partir de um `` INSERT INTO VALUES`` construir um `` INSERT INTO SELECT`` construção.
  • Se a coluna é parte de um `` primary_key`` será `` NÃO NULL`` desde MSSQL não permite `` NULL`` em colunas PRIMARY_KEY.
  • `` MSBinary`` agora retorna um `` BINARY`` em vez de um `` IMAGE``. Esta é uma mudança para trás incompatíveis em que `` BINARY`` é um tipo de dados de comprimento fixo ao passo que `` IMAGE`` é um tipo de dados de comprimento variável. [Ticket: 1249]
  • `` get_default_schema_name`` reflecte-se agora a partir do banco de dados com base no esquema padrão do usuário. Isso só funciona com MSSQL 2005 e depois. [Ticket: 1258]
  • Suporte de agrupamento Adicionado através do uso de um argumento novo agrupamento. Isto é suportado nos seguintes tipos: char, nchar, varchar, nvarchar, texto, ntext. [Ticket: 1248]
  • As alterações nos parâmetros de cadeia de conexão favorecer DSN como a especificação padrão para pyodbc. Veja a docstring mssql.py para instruções detalhadas de utilização.
  • Adicionado suporte experimental de pontos de salvamento. Atualmente, não funciona plenamente com as sessões.
  • Suporte para três níveis de coluna de nulidade: nulo, e não nulo, e configurado padrão do banco de dados. A configuração padrão da coluna (anulável = True) agora irá gerar NULL no DDL. Anteriormente nenhuma especificação foi emitido e o padrão de banco de dados que tenham efeito (geralmente NULL, mas nem sempre). Para solicitar explicitamente o padrão de banco de dados, configure as colunas com anulável = None e nenhuma especificação será emitido em DDL. Este comportamento é incompatível para trás. [Ticket: 1243]
  • postgres
  • & quot;% & quot; sinais em texto () construções são automaticamente escapou para & quot; %% & quot ;. Por causa da natureza para trás incompatível dessa mudança, um aviso será emitido se for detectado '%%' na cadeia. [Ticket: 1267]
  • alias.execute () em conjunto com Chamando server_side_cursors não vai aumentar AttributeError.
  • apoio reflexão Index Adicionado para Postgres, usando um grande remendo nós por muito tempo negligenciado, apresentado por Ken Kuhlman. [Ticket: 714]
  • oracle
  • Ajustado o formato de create_xid () para reparar de duas fases. Agora temos relatórios de campo da Oracle duas fases funcionando corretamente com essa mudança.
  • Adicionado tipo OracleNVarchar, produz NVARCHAR2, e também subclasses Unicode para que convert_unicode = True por padrão. NVARCHAR2 reflete a este tipo automaticamente assim que estas colunas passar unicode em uma tabela refletida sem convert_unicode explícita = bandeiras Verdadeiros. [Ticket: 1233]
  • Corrigido o erro que estava impedindo a params de certos tipos de serem recebidos; Graças a tonelada para huddlej em wwu.edu! [Ticket: 1265]
  • mysql
  • & quot;% & quot; sinais em texto () construções são automaticamente escapou para & quot; %% & quot ;. Por causa da natureza para trás incompatível dessa mudança, um aviso será emitido se for detectado '%%' na cadeia.
  • Corrigido o erro em raise exceção quando colunas FK não apresentar durante a reflexão. [Ticket: 1241]
  • Corrigido o erro, envolvendo a reflexão de uma tabela remota-schema com um ref chave estrangeira para outra mesa em que esquema.
  • associationproxy
  • As propriedades de proxy de associação são disponibilizar-se no nível de classe, por exemplo, MyClass.aproxy. Anteriormente, esta avaliada para Nenhum.
  • declarativa
  • A lista completa dos argumentos aceitos como cadeia por backref () inclui 'primaryjoin', 'secondaryjoin', ', FOREIGN_KEYS' 'secundários', 'remote_side', 'order_by'.

Requisitos :

  • Python

Programas semelhantes

datanommer
datanommer

20 Feb 15

TYPO3
TYPO3

26 Apr 16

ezRadius
ezRadius

2 Jun 15

MySQL Workbench
MySQL Workbench

17 Feb 15

Comentário para SQLAlchemy

Comentários não encontrado
Adicionar comentário
Ligue imagens!