using InvercargillSql; using InvercargillSql.Migrations; /** * Migration to create the users table with indexes. */ public class V001_CreateUsers : Migration { public override int version { get { return 1; } } public override string name { get { return "CreateUsers"; } } public override void up(MigrationBuilder b) throws SqlError { b.create_table("users", t => { t.column("id") .primary_key() .auto_increment(); t.column("name") .not_null(); t.column("email") .unique(); t.column("age"); t.column("is_active"); // Create index on email for fast lookups t.index("idx_users_email").on_column("email"); }); } public override void down(MigrationBuilder b) throws SqlError { b.drop_table("users"); } }