Entretanto com a nova definição, as tabelas também vão ter novos nomes e
portanto nem vai ser preciso fazer o rename.
Será apenas a criação de novas tabelas com cópia/conversão de dados.

No dia 3 de agosto de 2015 às 19:34, Hugo Ferreira <[email protected]>
escreveu:

> Akira,
>
> Resumiste todas as possibilidades (pelo menos as que eu próprio tinha em
> mente).
>
> 1. Comparar a versão (que até tenho essa informação) é uma possibilidade
> sendo que existe um script de migração que é validado sempre mas só corre
> uma vez. Um dia mais tarde (1 ano) poderá ser removido com segurança.
>
> 2. Para mim a hipótese do XML e cache está de fora (cada bit de memória e
> ms de processamento são importantes para algo que está no centro).
>
> 3. Por outro lado o hasProperty acaba por ser uma boa hipótese
> simplesmente porque sei de antemão que os campos estão todos camel-case
> (nova versão) ou lower-case (isto é uma garantia).
> Obrigava a meter este código na minha framework.
>
> Acho que vou considerar o uso da hipótese 1, fazendo um backup
> automaticamente, rename a cada tabela para _old, correr o create table pelo
> ORM e depois copiar os dados.
>
>
> Abs,
> Hugo.
>
> No dia 3 de agosto de 2015 às 14:36, Akira <[email protected]> escreveu:
>
>> Sem usares o XML de introspecção vai ser difícil. Pressupondo que sejam
>> value objects, se souberes  o serial de versão e estrutura do VO poderias
>> montar um handler  consoante a versão. Se não sabes nada disso resta-te :
>> A) usares o XML e fazeres cache dele
>> B) tentares o hasProperty com as variações possíveis
>> Não sei o que será mais rápido. Tudo depende do contexto
>> On 3 Aug 2015 14:24, "Hugo Ferreira" <[email protected]> wrote:
>>
>>> João,
>>>
>>> Peço desculpa mas não me devo ter expressado bem.
>>>
>>> Imagina que o objecto "entity" tem uma propriedade "name" e eu não sei
>>> se é "name" ou "Name" mas faço
>>> var meuValor:String = entity["Name"]
>>>
>>> O AS3 não vai encontrar o valor porque a propriedade é case-sensitive.
>>>
>>> Fazer entity[field.toLowerCase()] também não me vai resolver o problema
>>> porque a propriedade pode ser Name na realidade.
>>>
>>> Eu sei que é díficil de entender sem contextualizar mas trata-se de uma
>>> migração/correção de modelo de dados já existindo dados.
>>>
>>> Eu posso simplesmente ignorar isto e continuar com o modelo de dados
>>> antigo mas gostaria de corrigi-lo mas se o preço a pagar for de grande
>>> risco ou de grande perda de performance vou manter as coisas tal como estão
>>> dai que eu sei que posso usar a introinspeção do flex obtendo um xml de
>>> toda a estrutura do objecto mas isto vai ser lento e/ou requerer memória
>>> para colocar em cache.
>>>
>>>
>>> Obrigado,
>>> Hugo.
>>>
>>> No dia 3 de agosto de 2015 às 12:25, João Fernandes <
>>> [email protected]> escreveu:
>>>
>>>> Tens sempre a possibilidade de fazer toLowerCase() de ambos os lados e
>>>> funciona quase sempre. Digo quase sempre porque isto não contempla accent
>>>> insensitive o que não irá funcionar neste caso.
>>>>
>>>> Para accent insensitive terás de usar o Collator para comparar 2
>>>> expressões mas atenção que só funciona para match direto e não para match
>>>> algures na expressão comparada. A propriedade a definir é
>>>> ignoreDiacritics
>>>> <http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/Collator.html#ignoreDiacritics>
>>>>
>>>>
>>>> funciona
>>>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/Collator.html
>>>>
>>>> 2015-08-03 1:07 GMT+01:00 Hugo Ferreira <[email protected]>:
>>>>
>>>>> Boa noite,
>>>>>
>>>>> Neste exemplo a seguir, se por acaso a propriedade existente no
>>>>> objecto entity for "name" em vez de "Name", o flex não vai localizar uma
>>>>> vez que é case sensitive.
>>>>>
>>>>> var field:String = "Name";
>>>>>
>>>>> if (entity[field] == sameObject[field])
>>>>> {
>>>>> }
>>>>>
>>>>> Alguém sabe como tornar isto case insensitive sem perder muito a
>>>>> performance e que preferência se alterar o comportamento a nível global ?
>>>>>
>>>>> PS: Não gostaria de ter de analisar o XML do objectos.
>>>>>
>>>>> --
>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>> do Grupos do Google.
>>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>>> mesmo, envie um email para [email protected].
>>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>>> [email protected].
>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> João Fernandes
>>>>
>>>> --
>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>> do Grupos do Google.
>>>> Para anular a subscrição deste grupo e parar de receber emails do
>>>> mesmo, envie um email para [email protected].
>>>> Para publicar uma mensagem neste grupo, envie um email para
>>>> [email protected].
>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>>> Grupos do Google.
>>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>>> envie um email para [email protected].
>>> Para publicar uma mensagem neste grupo, envie um email para
>>> [email protected].
>>> Visite este grupo em http://groups.google.com/group/riapt.
>>> Para mais opções, visite https://groups.google.com/d/optout.
>>>
>> --
>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do
>> Grupos do Google.
>> Para anular a subscrição deste grupo e parar de receber emails do mesmo,
>> envie um email para [email protected].
>> Para publicar uma mensagem neste grupo, envie um email para
>> [email protected].
>> Visite este grupo em http://groups.google.com/group/riapt.
>> Para mais opções, visite https://groups.google.com/d/optout.
>>
>
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie 
um email para [email protected].
Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Visite este grupo em http://groups.google.com/group/riapt.
Para mais opções, consulte https://groups.google.com/d/optout.

Responder a