public void createTables(DatabaseSession session) {
    dropTableConstraints(session);
    new InheritanceTableCreator().replaceTables(session);

    SchemaManager schemaManager = new SchemaManager(session);
    if (session.getLogin().getPlatform().isOracle()) {
      schemaManager.replaceObject(Computer.oracleView());
      schemaManager.replaceObject(Vehicle.oracleView());
    } else if (session.getLogin().getPlatform().isSybase()) {
      schemaManager.replaceObject(Computer.sybaseView());
      schemaManager.replaceObject(Vehicle.sybaseView());
      // CREATE VIEW statement was added in MySQL 5.0.1.  Uncomment it when we support MySQL 5
      // } else if (session.getLogin().getPlatform().isMySQL()) {
      // schemaManager.replaceObject(Computer.sybaseView());
      // schemaManager.replaceObject(Vehicle.mySQLView());
    }
  }
  public void createTables(DatabaseSession session) {
    SchemaManager schemaManager = new SchemaManager(session);

    schemaManager.replaceObject(LockInCache.tableDefinition());
    schemaManager.replaceObject(LockInObject.tableDefinition());
    schemaManager.replaceObject(TimestampInObject.tableDefinition());
    schemaManager.replaceObject(TimestampInAggregateObject.tableDefinition());
    schemaManager.replaceObject(LockInAggregateObject.tableDefinition());
    schemaManager.replaceObject(TimestampInCache.tableDefinition());
    schemaManager.replaceObject(ChangedRow.tableDefinition());
    schemaManager.createSequences();
    new RockBandTableCreator().replaceTables(session);
    new AnimalTableCreator().replaceTables(session);
  }