Talk:Community Database

Oracle XE use of port 8080

In Oracle XE it also uses port 8080 for the DB administration web site. If you disable the port as described currently you will have to do all Oracle administration using the SQL command line. If you want to still use the web site you should instead use EXEC DBMS_XDB.SETHTTPPORT(8088); or something similar. Of course, if you do that then the shortcut link on the Start Menu (in Windows at least) will no longer work and you'll need to update that too. Personally, I found it easier to change the port used by Tomcat in Eclipse. In any case, I think it would be better advice for community developers to change the port rather than disable it or to suggest changing the Tomcat port. --Eric Blood 18:39, 29 May 2009 (UTC)

Thanks Eric! I have updated the page to detail the different options available. --Nate Dickamore 19:44, 29 May 2009 (UTC)

Table design and naming standards

I'm not sure if it makes sense here or somewhere else. But are there any standards set by the Church yet for table design and naming conventions. Here is what I would add:

Primary Key is defined as "id" and put into the BaseTable

I used to call all my primary keys TABLE_ID. For example the PK for the person table would be person_id or PERSON_ID (depending on the RDMS). But with Java and JPA, you base table can define the id once and all your tables can inherit this. It's often really nice to be able to grab a BaseTable object an know for sure it will always have a primary key called "id." It's also nice in the UI to always know that the PK is named id regardless of the RDMS. The only downside is that now you can't use the USING clause on your joins. But this has proven to be far less a problem than I originally predicted years ago.

CamelCase for column names

Although we should probably do this for table names, I've just never been able to stomach the idea of doing tables in camelcase. But doing column names in CamelCase saves tons of time and usually eliminates an annotation for each column in your entity. This way the pojo with private String firstName is also "firstName" in the database instead of first_name. The only caveat to this is that I haven't tried this in Oracle yet. Oracle typically ignores the case and make it all caps, so firstName may end up being FIRSTNAME, which is worse than FIRST_NAME. Someone would have to confirm this.

Standard "audit" columns

Some people call them "who" columns, but most tables should have audit columns. If you define these in the BaseTable, then it minimizes the cost to adding them to every table and more people will use them.

  • creationDate (date time)
  • updateDate (date time)
  • createdBy (FK to the logged in user)
  • updatedBy (FK to the logged in user)

Utility methods to set these columns are useful in the BaseTable. --Tjallred 05:17, 21 November 2009 (UTC)

This page was last modified on 20 November 2009, at 23:17.

Note: Content found in this wiki may not always reflect official Church information.