2.4 KiB
Database
LibreTime is designed to work with a PostgreSQL database server running locally. LibreTime uses PropelORM to interact with the ZendPHP components and create the database.
#Modifying the Database If you are a developer seeking to add new columns to the database here are the steps.
- Modify
airtime_mvc/build/schema.xml
with any changes. - Run
dev_tools/propel_generate.sh
- Update the upgrade.sql under
airtime_mvc/application/controllers/upgrade_sql/VERSION
for exampleALTER TABLE imported_podcast ADD COLUMN album_override boolean default 'f' NOT NULL;
#Viewing the Database and Data One new tool that you can use to interact with and directly view the LibreTime database and tables is Postage
It provides a graphical interface that can show the LibreTime tables and easily modify the data inside. It runs as a local GUI client. Here are some brief instructions for how to get starting using it as a developer with a vagrant virtual machine.
- Download and install release from their github page - Additional instructions here
- Setup port-forwarding for the vagrant VM - check the VirtualBox Settings for the VM -> Network -> Advanced -> Port Forwarding -> Forward HostPort 5550 to GuestPort 5432
- Modify PostgreSQL to accept connections from outside localhost -> edit /etc/postgresql/VERSION#/main/postgresql.conf - uncomment and modify the listen_address to be
listen_addresses = '*'
you may also need to edit pg_hba.conf in the same directory and allow Ipv4 connections from your localhost. I modified it to all as security wasn't a concern. - Setup a Postgres username/password for super user in Ubuntu etc use
sudo -u postgres psql postgres
# \password postgres
Enter new password:
- Startup Postage by running
postage
and edit the postage-connections.conf and set the port to 5550 and save it. Then type in the username postgres and password you set above. - Launch and select the airtime database to view the copy running on your vagrant box. To see the data/schema in a particular table click Schemas->Tables->table_name and then DesignTable or EditData
This can provide a easier way to view how LibreTime composes its tables than the CLI to postgresql.
Description of Tables and their Purposes
TODO