Ben görünen bir liquibase Changeset aracılığıyla yeni bir tablo oluşturmak için denemek mysql autoincrement ile çalışmıyor gibi:Liquibase
liquibase.exception.DatabaseException:
Error executing SQL CREATE TABLE
kkm.mytable (id numeric AUTO_INCREMENT NOT NULL, name VARCHAR(50) NULL, description
VARCHAR(255) NULL, image_path VARCHAR(255) NULL,
CONSTRAINT PK_BOUFFE PRIMARY KEY (id)):
Incorrect column specifier for column 'id'
Ben ayarlarsanız autoIncrement =": Bu aşağıdaki hata nedeniyle başarısız
<createTable tableName="mytable">
<column name="id" type="number" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)"/>
<column name="description" type="varchar(255)"/>
<column name="image_path" type="varchar(255)"/>
</createTable>
yanlış ", bu mükemmel çalışıyor.
Bu bilinen bir sorun mu?
DÜZENLEME:
bu çalışıyor:
<createTable tableName="mytable">
<column name="id" type="number" autoIncrement="false">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)"/>
<column name="description" type="varchar(255)"/>
<column name="image_path" type="varchar(255)"/>
</createTable>
<addAutoIncrement
columnDataType="int"
columnName="id"
incrementBy="1"
startWith="1"
tableName="mytable"/>
Belirleyebileceğim bir fark var. Üst örnekte (işe yaramaz), türü "sayı" olarak ayarlarsınız. Türün altındaki birinde "int". Bu yüzden türü "int" olarak ayarlamayı denediniz mi? Ayrıca, [mysql doc] (http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html) de "... AUTO_INCREMENT için yeterince büyüklükte bir tamsayı veri türü kullanın sütun ... "Belki bir tam sayı olmalı? – Jens
@Jens gerçekten de sorun buydu, dün de onu buldum ve bir cevap gönderecektim –
Not: type = "number" likidibazın sonraki sürümlerinde düzeltilmelidir. 3.0.7+ inanıyorum. –