During some noodling about OpenMRS design issues with Paul, we wanted to look at the most recent version of some of our tables. Did I open up MySQL? No sirree! I have 1.6 dev running on an appliance, so I just opened the Groovy module and ran this script:
/* Let's make a convenient function for executing SQL */ def sql = { s -> admin.executeSQL(s, false /* read-only */ ) } sql("describe obs") .collect{ """ <b>${it[0]}</b> <small><em><font color=gray>${it[1]}</font></em></small> """ } .join("n") /* separate lines */
Which dumps out this:
obs_id int(11)
person_id int(11)
concept_id int(11)
encounter_id int(11)
order_id int(11)
obs_datetime datetime
location_id int(11)
obs_group_id int(11)
accession_number varchar(255)
value_group_id int(11)
value_boolean tinyint(1)
value_coded int(11)
value_coded_name_id int(11)
value_drug int(11)
value_datetime datetime
value_numeric double
value_modifier varchar(2)
value_text text
date_started datetime
date_stopped datetime
comments varchar(255)
creator int(11)
date_created datetime
voided smallint(6)
voided_by int(11)
date_voided datetime
void_reason varchar(255)
value_complex varchar(255)
uuid char(36)

uhm Burke — you don’t need to do
in code…
…and That is cool!
You never cease to amaze me