Package org.ganymede.migrations

Source Code of org.ganymede.migrations.WOTested0

package org.ganymede.migrations;

import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.foundation.NSArray;

import er.extensions.migration.ERXMigrationDatabase;
import er.extensions.migration.ERXMigrationTable;
import er.extensions.migration.ERXModelVersion;

public class WOTested0 extends ERXMigrationDatabase.Migration {
  @Override
  public NSArray<ERXModelVersion> modelDependencies() {
    return null;
  }
 
  @Override
  public void downgrade(EOEditingContext editingContext, ERXMigrationDatabase database) throws Throwable {
    // DO NOTHING
  }

  @Override
  public void upgrade(EOEditingContext editingContext, ERXMigrationDatabase database) throws Throwable {
    ERXMigrationTable envJoinTable = database.newTableNamed("env_joins");
    envJoinTable.newIntegerColumn("env_pk", false);
    envJoinTable.newIntegerColumn("result_pk", false);
    envJoinTable.create();
    envJoinTable.setPrimaryKey("env_pk", "result_pk");

    ERXMigrationTable environmentTable = database.newTableNamed("environments");
    environmentTable.newStringColumn("info", 64, false);
    environmentTable.newIntegerColumn("pk", false);
    environmentTable.create();
    environmentTable.setPrimaryKey("pk");

    ERXMigrationTable failureTable = database.newTableNamed("failures");
    failureTable.newStringColumn("message", 511, false);
    failureTable.newIntegerColumn("pk", false);
    failureTable.newIntegerColumn("result_pk", false);
    failureTable.create();
    failureTable.setPrimaryKey("pk");

    ERXMigrationTable resultTable = database.newTableNamed("results");
    resultTable.newBigIntegerColumn("duration", false);
    resultTable.newStringColumn("email", 127, false);
    resultTable.newIntegerColumn("pk", false);
    resultTable.newStringColumn("time_zone", 32, false);
    resultTable.newStringColumn("whence", 19, false);
    resultTable.create();
    resultTable.setPrimaryKey("pk");

    ERXMigrationTable versionDigestTable = database.newTableNamed("version_digests");
    versionDigestTable.newStringColumn("digest", 40, false);
    versionDigestTable.newIntegerColumn("pk", false);
    versionDigestTable.newIntegerColumn("result_pk", false);
    versionDigestTable.newStringColumn("rname", 255, false);
    versionDigestTable.create();
    versionDigestTable.setPrimaryKey("pk");

    envJoinTable.addForeignKey("env_pk", "environments", "pk");
    envJoinTable.addForeignKey("result_pk", "results", "pk");
    failureTable.addForeignKey("result_pk", "results", "pk");
    versionDigestTable.addForeignKey("result_pk", "results", "pk");
  }
}
TOP

Related Classes of org.ganymede.migrations.WOTested0

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.