-
Notifications
You must be signed in to change notification settings - Fork 0
Documentation
TWiki> LibrePlan Web>Documentation (15 Jan 2013, LorenzoTilve)EditAttach
- LibrePlan installation instructions
- LibrePlan upgrade instructions
- HOWTO - Migration from LibrePlan 1.1.X to LibrePlan 1.2 for source and war deployments
- Use 4-spaces to ident source code. Never use tabs.
- Avoid trailing whitespaces.
- Follow Java conventions (http://java.sun.com/docs/codeconv/)
- Always use lower-case for tables and columns names. E.g.
worker
- Use underscore to separate words on tables and columns names. E.g.
virtual_worker
- Add suffix
_table
when table name is a reserved word. E.g.order_table
- Use prefix
idx_
for indexes. E.g.idx_label_on_label_type
- Use suffix
_pkey
for primary keys: E.g.stretch_template_pkey
- Use suffix
_fkey
for foreign keys: E.g.stretch_template_stretches_function_template_id_fkey
-
Standard commit messages:
Title (one line) Optional description (several lines)
-
If it fixes a bug:
Bug #bug_number_at_bugtracker: Title (one line) Optional description (several lines)
-
You can also add tags in some situations, e.g.:
doc: Title (one line) Optional description (several lines)
- Add the next header at the beginning of each file filling the year and copyright holder:
/*
* This file is part of LibrePlan
*
* Copyright (C) YEAR Copyright Holder (OOPS!)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
We are using LiquiBase as tool to manage database migration and it is integrated with Maven so you just need to run mvn clean install
in order to automatically apply migrations on database.
These database changelog files are under libreplan-business/src/main/resources/
directory.
During the development if you need to modify the database you should add a change set to the database chagelog file corresponding to current version (before version 1.0 we will use the file db.changelog-initial.xml
, a new file will be created for each version). Check all the possible database refactorings in the manual: http://www.liquibase.org/manual/home#available_database_refactorings
Some examples of common tasks to be added in database changelog:
- Rename table:
<changeSet id="rename-table-worker-to-employee" author="mrego">
<comment>Rename table</comment>
<renameTable oldTableName="worker" newTableName="employee" />
</changeSet>
- Rename column:
<changeSet id="rename-column-nif-to-identify_number" author="mrego">
<comment>Rename column</comment>
<renameColumn tableName="worker" oldColumnName="nif"
newColumnName="identity_number"/>
</changeSet>
- Add a column with a default value:
<changeSet id="add-has_children-column-with-default-value-false" author="mrego">
<comment>Add new column with default value</comment>
<addColumn tableName="worker">
<column name="has_children" type="BOOLEAN" />
</addColumn>
<update tableName="worker">
<column name="has_children" valueBoolean="TRUE" />
</update>
</changeSet>
Warning: id
must be unique for each author in the same file but can not exceed 60 characters. If you have collisions you can add -1
, -2
, ... at the end.
Note: Please add a comment explaining why you are modifying the database. You can add all the changes related with a commit in the same change set.
In file libreplan-business/src/main/resources/libreplan-business-hibernate.cfg.xml
change value of property hibernate.cache.use_second_level_cache
to true
.
In order to see in the screen the output log of access, successes and failures of cache, it's needed to add following lines to file src/main/jetty/log4j.properties
:
# Enable to log cache activity
log4j.logger.org.hibernate.cache=debug
Copyright (c) by the contributing authors. All material on this collaboration platform is the property of the contributing authors.