jbe@0: jbe@0: Setup the database: jbe@0: $ createdb liquid_feedback jbe@0: $ psql -v ON_ERROR_STOP=1 -f core.sql liquid_feedback jbe@0: jbe@0: Optionally insert demo data: jbe@0: $ psql -v ON_ERROR_STOP=1 -f demo.sql liquid_feedback jbe@0: jbe@0: Compile lf_update binary: jbe@0: $ make jbe@0: jbe@202: Ensure that "lf_update dbname=liquid_feedback" is called regularly! jbe@202: jbe@202: It is required that lf_update is executed regulary (i.e. every jbe@202: 5 minutes via cron) to update cached supporter counts, to change jbe@202: the state of issues when neccessary, and to calculate the result jbe@202: of votings. If you wish, copy the created lf_update file to jbe@202: /usr/local/bin or a similar directory. jbe@202: jbe@202: On successful run, lf_update will not produce any output jbe@202: and exit with code 0. jbe@0: jbe@0: NOTE: When writing to the database, some INSERTs must be executed jbe@0: within the same transaction, e.g. issues can't exist without jbe@0: an initiative and vice versa. jbe@0: jbe@8: To create an export file, which is containing all but private data, jbe@8: you may use the lf_export shell-script: jbe@8: $ lf_export liquid_feedback export.sql.gz jbe@8: jbe@274: Refer to source code of function "delete_private_data"() to see, jbe@274: which data gets deleted. If you need a different behaviour, please jbe@274: copy the function and modify the lf_export shell script accordingly. jbe@274: jbe@0: To uninstall the software, delete the lf_update binary jbe@0: and drop the database by entering the following command: jbe@0: $ dropdb liquid_feedback jbe@0: jbe@120: Updating is done using the update scripts in the update/ directory. jbe@251: After updating it is recommended to recreate the schema as follows jbe@251: (assuming the database superuser is named "postgres"): jbe@120: $ pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql jbe@120: $ dropdb DATABASE_NAME jbe@120: $ createdb DATABASE_NAME jbe@120: $ psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME jbe@251: $ su postgres # (execute following command as database superuser) jbe@120: $ psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME jbe@251: $ exit # leave "su" command jbe@120: $ rm tmp.sql jbe@120: