search() {
grep -R "$1" .
}
alias search=search
$ search my_string
miércoles, 21 de agosto de 2013
Alias para buscar texto recursivamente
Un alias muy útil para ejecutar el comando grep recursivamente en busca de un texto literal:
martes, 20 de agosto de 2013
Wordpress: Deshabilitando el título de una página
Pues algo que pareciera debiera ser una opción por defecto de Wordpress resulta ser ligeramente más complicado. Hay muchas formas de lograrlo pero la más sencilla a mi parecer es instalar un plugin que se llama Disable Title.
Ya dentro del editor de la página aparecen varias opciones para deshabilitar el título.
miércoles, 14 de agosto de 2013
Java: Conviertiendo String a Enum
A veces es necesario convertir un valor String a un Enum porque quizás el valor lo tenemos en la base de datos como un String, pero deseamos manipularlo en el código como un Enum.
En el siguiente código muesto como obtener el valor Enum de un String. Básicamente se agrega un método estático a la clase Enum que retorna el valor específico mediante una iteración de todos sus valores para comparar el valor String con el pasado por parámetro. Si no se encuentra o se pasa un valor nulo, se retorna una excepción de argumento inválido.
public enum Volcano {
IRAZU("Irazu"), POAS("Poas"), ARENAL("Arenal"), RINCON_DE_LA_VIEJA("Rincon de la vieja");
private String name;
private Volcano(String name) {
this.name = name;
}
public static Volcano fromString(String name) {
if (name == null) {
throw new IllegalArgumentException();
}
for (Volcano volcano : values()) {
if (name.equalsIgnoreCase(volcano.getName())) {
return volcano;
}
}
// Passed string value does not correspond to a valid enum value.
throw new IllegalArgumentException();
}
public String getName() {
return this.name;
}
public static void main(String[] args) {
Volcano volcano1 = Volcano.fromString("Poas");
System.out.println(volcano1);
Volcano volcano2 = Volcano.fromString("rincon de la vieja");
System.out.println(volcano2);
Volcano volcano3 = Volcano.fromString("Fuji");
}
}
Salida:
POAS RINCON_DE_LA_VIEJA java.lang.IllegalArgumentException at com.bodybuilding.common.enums.Volcano.fromString(Volcano.java:22) at com.bodybuilding.common.enums.Volcano.main(Volcano.java:36)
lunes, 22 de julio de 2013
Flyway Validate: Cannot determine latest applied migration. Was the metadata table manually modified?
En nuestro proyecto utilizamos Flyway para el control de las modificaciones a la base de datos. Hace poco me comenzó a dar este error que no daba mucha pista de por qué fallaba:
Siendo un proyecto Open Source me encontré el código con facilidad y pude ver qué tipo de consulta estaba tratando de ejecutar. Podemos ver en el código que busca por la columna "CURRENT_VERSION":
Flyway Validate: Cannot determine latest applied migration. Was the metadata table manually modified?
Siendo un proyecto Open Source me encontré el código con facilidad y pude ver qué tipo de consulta estaba tratando de ejecutar. Podemos ver en el código que busca por la columna "CURRENT_VERSION":
/**
* @return The latest migration applied on the schema. {@code null} if no migration has been applied so far.
*/
public MetaDataTableRow latestAppliedMigration() {
if (!hasRows()) {
return null;
}
String query = getSelectStatement() + " where current_version=" + dbSupport.getBooleanTrue();
@SuppressWarnings({"unchecked"})
final List metaDataTableRows = jdbcTemplate.query(query, new MetaDataTableRowMapper());
if (metaDataTableRows.isEmpty()) {
if (hasRows()) {
throw new FlywayException("Cannot determine latest applied migration. Was the metadata table manually modified?");
}
return null;
}
return metaDataTableRows.get(0);
}
...
/**
* @return The select statement for reading the metadata table.
*/
private String getSelectStatement() {
return "select VERSION, DESCRIPTION, TYPE, SCRIPT, CHECKSUM, INSTALLED_ON, EXECUTION_TIME, STATE from " + schema + "." + table;
}
Así que indetifiqué la última versión aplicada y manualmente le puse el valor de la columna en 1. Problema resuelto.
Suscribirse a:
Entradas (Atom)
