migrate4j 是一套類似rails 的migrate的lib。
不過定義一個 migration 要這樣
package db.migrations;
import static com.eroi.migrate.Define.*;
import static com.eroi.migrate.Define.DataTypes.*;
import static com.eroi.migrate.Execute.*;
import com.eroi.migrate.Migration;
public class Migration_1 implements Migration {
public void up() {
createTable(
table("simple_table",
column("id", INTEGER, primarykey(), notnull()),
column("desc", VARCHAR, length(50), defaultValue("NA"))));
}
public void down() {
dropTable("simple_table");
}
}
然後編譯:
javac -classpath migrate4j.jar db/migrations/Migration_1.java
執行:
java -cp .:mysql.jar:migrate4j.jar:lib/commons-logging.jar com.eroi.migrate.Engine
…..



