Time |
S |
Nick |
Message |
00:31 |
|
sivoais |
kind of like what <http://pleac.sourceforge.net/> does with basic programming tasks (based off the Perl Cookbook) |
00:33 |
|
sivoais |
and Groovy has 100% coverage there! That's probably the language I'd use if I had to use the JVM for a problem. |
00:42 |
|
pdurbin |
sivoais: Groovy just got traits: http://groovy.codehaus.org/Groovy+2.3+release+notes?nc |
00:49 |
|
sivoais |
Woah! that's awesome! Released in May! |
00:49 |
|
pdurbin |
yeah. also via that podcast |
00:50 |
|
pdurbin |
the guy seemed pretty enthusiastic. a lot of groovy people seem to really like it |
00:50 |
|
pdurbin |
and gradle is becoming the default build tool for android |
00:50 |
|
pdurbin |
so I don't think Groovy is going anywhere |
00:51 |
|
sivoais |
Hmm, does the Android build system have good Groovy support now? As in, can I call all the APIs using Groovy easily? |
00:52 |
|
pdurbin |
no no |
00:52 |
|
sivoais |
last I looked, it wasn't complete yet |
00:52 |
|
pdurbin |
I just mean the build tool |
00:52 |
|
pdurbin |
to poop out an apk at the end |
00:53 |
|
sivoais |
I know, but I want to write Groovy code for the Android platform |
00:54 |
|
pdurbin |
hmm. I'd rather they let us write Go |
00:55 |
|
pdurbin |
sivoais: people write android apps in scala. sounds a bit nightmarish to me though. and you have to include a large runtime in your app |
00:55 |
|
sivoais |
Go would be interesting too |
00:55 |
|
pdurbin |
dick wall talks about it on scalawags |
00:55 |
|
pdurbin |
searchbot: lucky scalawags podcast |
00:55 |
|
searchbot |
pdurbin: http://www.scalawags.tv/ |
00:56 |
|
pdurbin |
I haven't played with Go but I think I should |
00:56 |
|
pdurbin |
Clojure too |
00:56 |
|
pdurbin |
Groovy is lower on my list |
06:26 |
|
|
aditsu joined #sourcefu |
07:09 |
|
|
aditsu joined #sourcefu |
10:03 |
|
pdurbin |
aditsu: http://blogs.atlassian.com/2012/02/mercurial-vs-git-why-mercurial/ |
10:08 |
|
aditsu |
pdurbin: I agree :) |
10:11 |
|
aditsu |
oh, I had a question (for everybody).. how do you guys handle database synchronization and keeping track of changes, especially during development? |
10:11 |
|
aditsu |
(schema changes, that is) |
10:38 |
|
pdurbin |
aditsu: I just drop my database: https://github.com/IQSS/dataverse/blob/master/scripts/database/homebrew/rebuild-and-test |
10:42 |
|
aditsu |
pdurbin: dropping is easy but then how do you create it again? |
10:43 |
|
pdurbin |
the tables get created on deploy |
10:43 |
|
pdurbin |
and we populate them with a little reference data and a few API calls: https://github.com/IQSS/dataverse/blob/master/scripts/database/homebrew/run-post-create-post-deploy |
10:43 |
|
aditsu |
from what? sql scripts? or generated from code? |
11:06 |
|
pdurbin |
we have a tiny sql script i'd like to retire: https://github.com/IQSS/dataverse/blob/master/scripts/database/reference_data.sql |
11:07 |
|
pdurbin |
we've moved mostly to api calls to re-populate the database |
11:07 |
|
pdurbin |
i.e. https://github.com/IQSS/dataverse/blob/master/scripts/api/setup-dvs.sh |
11:09 |
|
aditsu |
is that for the data or the schema? |
11:09 |
|
pdurbin |
the data |
11:09 |
|
pdurbin |
the tables get created on deploy |
11:09 |
|
aditsu |
how do you create the tables and stuff? |
11:09 |
|
aditsu |
from scripts? |
11:09 |
|
aditsu |
or ORM-driven? |
11:10 |
|
pdurbin |
<property name="eclipselink.ddl-generation" value="create-tables"/> -- https://github.com/IQSS/dataverse/blob/master/src/main/resources/META-INF/persistence.xml |
11:10 |
|
pdurbin |
"create-tables" |
11:10 |
|
aditsu |
"eclipselink.ddl-generation" suggests that it's ORM-driven |
11:11 |
|
aditsu |
so you use an ORM that creates tables automatically from the class definitions |
11:12 |
|
aditsu |
and perhaps some extra metadata (xml?) |
11:13 |
|
aditsu |
and you drop the whole thing and recreate from scratch every time it changes? |
11:16 |
|
pdurbin |
right |
11:16 |
|
pdurbin |
the ORM we use is JPA |
11:16 |
|
pdurbin |
searchbot: lucky java jpa |
11:16 |
|
searchbot |
pdurbin: http://en.wikipedia.org/wiki/Java_Persistence_API |
11:18 |
|
aditsu |
afaik JPA is a framework, the ORM is eclipselink |
11:19 |
|
aditsu |
JPA is actually an API (that's what the A is for) :p |
11:20 |
|
aditsu |
many db people frown upon automatic table generation by ORMs |
11:22 |
|
pdurbin |
even in development? |
11:24 |
|
aditsu |
I'm not sure, but probably yes |
11:25 |
|
pdurbin |
aditsu: what do you do? for all of this? |
11:26 |
|
aditsu |
I did different things in different projects.. I used table generation too at one point (and automatic migration rather than recreating from scratch) |
11:27 |
|
aditsu |
currently I'm doing schema versioning and sql "diff" scripts for migration |
11:28 |
|
aditsu |
I guess every approach has some pros and cons |
11:30 |
|
aditsu |
not sure what's the best way, so I'm asking what others do :) |
11:31 |
|
aditsu |
I also wrote a TableGenerator for depeche-objects, but haven't used it much so far |
11:31 |
|
aditsu |
and it's not complete |
11:35 |
|
aditsu |
pdurbin: oh, how do you handle migration in production? when you can't recreate the db from scratch |
11:37 |
|
pdurbin |
historically, we've run sql update scripts |
12:08 |
|
|
pdurbin_m joined #sourcefu |
12:08 |
|
pdurbin_m |
aditsu: see also http://irclog.greptilian.com/javaee/2014-03-20#i_64690 |
12:08 |
|
pdurbin_m |
for more on db schema changes |
12:09 |
|
aditsu |
aha |
12:11 |
|
aditsu |
good stuff |
13:08 |
|
pdurbin |
yeah |
13:23 |
|
|
sivoais joined #sourcefu |
17:01 |
|
|
aditsu joined #sourcefu |
22:21 |
|
pdurbin |
a guy was just bending my ear about Modified Preorder Tree Traversal (MPTT): http://www.sitepoint.com/hierarchical-data-database-2/ |
22:21 |
|
pdurbin |
http://sitepointstatic.com/graphics/sitepoint_numbering.gif |