Subject Re: Change Collation Sets
Author marc_guillot
--- In firebird-support@yahoogroups.com, Alexandre Benson Smith
<iblist@...> wrote:
> Hi,
>
> I did it once... change to the new PT_BR collation that is AI/CI (it
was
> before it's officially integrated on the FB code base, we have a custom
> version of FB that has this collation).
>
> What I did:
>
> 1.) Extract database metadata
> 2.) Change the domains (every field definition on my DB use a
domain, so
> instead of changing hundreds (thousands ?) of field definitions I just
> changed dozens of domains)
> 3.) Create a new database with this modified script
> 4.) Pump the data from the old to the new DB
> 5.) Resolve some unique indices/constraints problem that was not
catched
> because on non CI/AI collation
> 6.) run step 4 until no more problems
>
> Note:
> The problem (pointed on item 5) I got was, an unique constraint or
> unique index defined on a char field, that fails on restore on the new
> database because of the no diference between AI/CI. So I think an
> automatic approach will be a little difficult, I did it manually on
> every costumer (less than 30).
>
> The point that Helen wrote about a gradual change is valid, but I
choose
> to do it all at once to have a consistent behavior on all char
> searchs/ordering.
>
> HTH
>
> see you !
>
> --
> Alexandre Benson Smith
> Development
> THOR Software e Comercial Ltda
> Santo Andre - Sao Paulo - Brazil
> www.thorsoftware.com.br

Hello.

Thanks Alexandre, that's exactly what I was thinking (so there is not
any shortcut).

1) Extract metadata to an Script
2) Change collations in Domains to ES_ES_CI_AI
4) Create a new Firebird 2 Empty Database

In every costumer computer :

1) Install Firebird 2
2) Copy Empty Database
3) Pump Data from old database
4) Backup/Restore to balance indexes and update statistics

I have too all fields defineds throught a dozen of domains, and I have
not any unique constraint in string fields, so I do'nt expect problems.

Thanks again.