5
で作業していない:LiquiBaseを私がどのように見えるLiquiBaseをチェンジを経て、新しいテーブルを作成しようとするMySQLの自動インクリメント
<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>
これは次のエラーで失敗します。私はAUTOINCREMENTを設定した場合
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'
=」偽 "、これは完全に動作します。
これは既知の問題ですか?
EDIT:
これが働いている:
<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"/>
私は見つけることができる1つの違いがあります。上の例では(動作しません)、型を 'number'に設定します。その型の下の型は 'int'です。では、型を 'int'に設定しようとしましたか?また、[mysql doc](http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html)は、 "... AUTO_INCREMENTに十分な大きさの整数データ型を使用します列... "だから多分整数でなければならないのでしょうか? – Jens
@Jens確かにそれは問題でした、私はそれも昨日見つけて、答えを投稿するつもりでした –
注:type = "number"はliquibaseのそれ以降のバージョンで修正する必要があります。私は信じています。 –