All of this take about migrations has got me fired up! I whipped up a
quick example migration file. Take a look and let me know what you
think.
<cfcomponent extends="Migration">
<cffunction name="up">
<cfscript>
var loc = {};
loc.columns = {};
loc.columns[1] = {columnName="id", columnType="primaryKey"};
loc.columns[2] = {columnName="firstName", columnType="varchar",
isNull=false, limit=100};
loc.columns[3] = {columnName="lastName", columnType="varchar",
isNull=false, limit=100};
loc.columns[4] = {columnName="emailAddress", columnType="varchar",
isNull=false, limit=100};
createTable(tableName="account", columns=loc.columns,
createdAt=true, updatedAt=true, deletedAt=true);
addColumn(tableName="account", columnName="userName",
columnType="varchar", isNull=false, limit=50);
addColumn(tableName="account", columnName="password",
columnType="varchar", isNull=false, limit=1000);
executeSql(sql="add in a raw sql statement here to be executed");
renameColumn(tableName="account", columnName="password",
newColumnName="authenticationToken");
</cfscript>
</cffunction>
<cffunction name="down">
<cfscript>
dropTable(tableName="account");
</cfscript>
</cffunction>
</cfcomponent>
James