In my opinion, it will be better to add something like:
<modifyDataType
columnName="VALUE"
newDataType="VARCHAR(2048)"
tableName="USER_ATTRIBUTE"/>
in current jpa-changelog-1.5.0.xml in latest master. This won't require
any PostgreSQL specific code and it will work for users of other
databases (like MySQL etc), which will have similar issue like you and
need attributes of bigger length. Or varchar(2048) doesn't work for you?
Marek
On 10.8.2015 16:44, Tair Sabirgaliev wrote:
Do you object something like this:
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.8"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.8
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.8.xsd">
<changeSet author=“ts(a)bee.kz" id="1.5.1">
<preConditions>
<dbms type=“postgresql" />
</preConditions>
<modifyDataType
columnName=“value"
newDataType=“text"
schemaName="public"
tableName="user_attribute”/>
</changeSet>
</databaseChangeLog>
The most interesting part is <preConditions/>
http://www.liquibase.org/documentation/preconditions.html
--
Tair Sabirgaliev
Bee Software, LLP
On August 10, 2015 at 19:49:48, Marek Posolda
(mposolda@redhat.com(mailto:mposolda@redhat.com)) wrote:
> Hi,
>
> can you try to use "varchar(2048)" instead of "text" ? The
potential
> issue with "text" is, that it's PostgreSQL specific stuff and may not
be
> supported by all databases, which we need to support in Keycloak.
>
> Please let me know if it works and feel free to create JIRA. We will
> then fix Liquibase script (the thing, which we are using to create DB
> tables and schema) and in Keycloak 1.5 it will be fixed and the length
> should suffice. If you can fix and test by yourself and send PR to
> Keycloak master, it will be even better :-)
>
> Thanks,
> Marek
>
> On 10.8.2015 10:54, Tair Sabirgaliev wrote:
>> Hi,
>>
>> When configuring Keycloak to use Active Directory we found that some
>> attributes could not fit into user_attributes.value column in Postgresql.
>> The problematic values are Cyrillic text. As I suspect, they are encoded
>> using ASCII charset, thus get longer and don’t fit into default 255 length.
>> Workaround was to change the column data type:
>>
>> alter table user_attribute alter COLUMN value type text;
>>
>> Is this the right thing to do considering database evolutions when
>> migrating from version to version? Can this workaround be incorporated
>> into Keycloak codebase? At least for Postgresql it is considered safe
>> performance-wise, references here:
>>
>> 1.
http://stackoverflow.com/questions/4848964/postgresql-difference-between-...
>> 2.
http://www.depesz.com/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/
>>
>> Thank you!
>> --
>> Tair Sabirgaliev
>> Bee Software, LLP
>>
>>
>>
>>
>> _______________________________________________
>> keycloak-user mailing list
>> keycloak-user(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/keycloak-user
>