LibreTime: Radio Broadcast & Automation Platform
Go to file
Scott McGrath 82d5af2dfb
fix(legacy): migrations from airtime 2.5.1 (#3123)
### Description

This fixes various problems in legacy migrations that were preventing a
successful database migration from Airtime 2.5.1. Previously, following
[the
procedure](https://libretime.org/docs/admin-manual/install/migrate-from-airtime/)
using the migrations provided in the Libretime 4.2.0 installer, without
the fixes in this PR, would either fail completely, or cause all of the
imported data to be completely deleted.


_migrations.py
If schema_version is not found in the table cc_prefs, it then checks for
system_version to have a value of '2.5.1' (in case this is an airtime
2.5.1 migration which will not have any schema_version in cc_pref). If
found, it prevents loading of the schema file, which is critical to
preserving the imported Airtime data.

0006_2_5_5
Removed a redundant addition of the image_path and description columns
to cc_show (done in earlier migration 003_2_5_2)

0015_2_5_17
Fixed a syntax error with adding the artwork column to cc_files

0023_3_0_0_alpha_9_1
Removed a redundant addition of the artwork column to cc_files (done in
earlier migration 0015_2_5_7)

### Documentation Changes

The [airtime migration
documentation](https://libretime.org/docs/admin-manual/install/migrate-from-airtime/)
already suggests a procedure to be followed, it just didn't work because
of problems within these migrations. The procedure as documented should
now work for those coming from Airtime 2.5.1.

### Testing Notes

**What I did:**

I attempted to migrate an actual airtime 2.5.1 database from a
production system containing a large amount of shows, tracks, and users.
I observed that the migration completed without errors, and that the
expected system state was achieved within Libretime. Specifically, the
calendar, library, authentication, and other aspects are populated with
the data that was present in the migrated Airtime database, and
Libretime is able to function using this data.

**How you can replicate my testing:**

Install Libretime 4.2.0. Restore a sample postrgresql database backup
from an Airtime 2.5.1 server. Apply the database migration. Restart the
services. Login and view the library, calender, etc.

### **Links**

Closes: #3121  
May also be related to, or even close (as a duplicate): #2563
2024-12-21 10:09:19 +00:00
.github chore(deps): update codecov/codecov-action action to v5 (#3111) 2024-11-16 00:29:08 +00:00
analyzer feat(analyzer): parse comment fields from mp3 files (#3082) 2024-11-22 18:28:06 +00:00
api fix(legacy): migrations from airtime 2.5.1 (#3123) 2024-12-21 10:09:19 +00:00
api-client chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
dev chore: add mailpit to dev setup 2023-06-02 07:44:34 +01:00
docker feat!: use nginx to serve media files (#2860) 2023-12-30 18:59:15 +01:00
docs feat(legacy): trused header sso auth (#3095) 2024-12-07 10:21:57 +00:00
installer feat(installer): add the `--storage-path` flag (#2865) 2024-01-01 14:38:05 +01:00
legacy chore(legacy): update locales 2024-12-09 02:37:27 +00:00
playout chore: fix linting ignore comments (#3084) 2024-09-30 16:08:23 +01:00
shared chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
tools fix: pin pip version to <24.1 to allow installing pytz (celery) (#3043) 2024-06-22 17:35:30 +02:00
worker chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
.codespellignore chore: release 3.2.0 (#2754) 2023-10-16 21:26:59 +02:00
.dockerignore feat: add container setup 2022-09-14 11:09:52 +02:00
.env.dev chore: move dev env files to dev subfolder 2023-04-12 08:11:21 +01:00
.gitattributes Create .gitattributes to ensure proper cloning with Windows Git 2017-04-09 14:41:52 -04:00
.gitignore chore: use a secure dev environment 2023-04-12 08:11:21 +01:00
.pre-commit-config.yaml chore(deps): update pre-commit hook adamchainz/django-upgrade to v1.22.2 (#3119) 2024-12-04 10:22:41 +00:00
.vale.ini chore: reenable vale rule after fix (#2965) 2024-03-02 14:15:50 +01:00
CHANGELOG.md chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
CONTRIBUTING.md chore: fix CONTRIBUTING symlink again 2023-04-03 12:39:24 +02:00
Dockerfile fix: docker warnings "keywords casing do not match" (#3048) 2024-06-29 20:26:44 +01:00
LEGACY.md Add Table of Content to LEGACY file 2021-09-02 20:55:16 +02:00
LICENSE Small update to LICENSE 2021-09-02 16:06:26 +02:00
Makefile build: replace custom release script with release-please (#2817) 2023-12-22 19:19:12 +01:00
README.md chore: fix broken link check (#3039) 2024-06-22 11:44:35 +02:00
SECURITY.md docs: move release docs in the release section 2023-04-12 16:50:04 +01:00
Vagrantfile feat(installer)!: change default listen port to 8080 (#2852) 2023-12-29 17:49:07 +01:00
cloud-init.yml feat: rewrite cloud-init config (#2853) 2023-12-29 17:57:59 +01:00
codecov.yml test(worker): setup testing 2022-09-09 14:44:37 +02:00
docker-bake.json ci: use bake file for container build 2023-02-26 20:37:27 +02:00
docker-compose.override.yml fix: remove obsolete docker compose version (#2982) 2024-04-13 14:37:04 +02:00
docker-compose.yml perf: optimize the rabbitmq health check (#3037) 2024-06-22 18:10:55 +02:00
install fix: pin pip version to <24.1 to allow installing pytz (celery) (#3043) 2024-06-22 17:35:30 +02:00
pyproject.toml chore: add isort pre-commit hook 2023-02-03 12:38:58 +01:00

README.md

LibreTime

Financial Contributors on Open Collective

LibreTime makes it easy to run your own online or terrestrial radio station. It is a community managed fork of the AirTime project.

It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. Join us in fixing bugs and in defining how we manage the codebase going forward.

Check out the documentation for more information and start broadcasting!

Please note that LibreTime is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

You can find details about our development process in the contributing guide.

Support

To get support for any questions or problems you might have using the software we have a forum at discourse.libretime.org. We are moving towards using the forum to provide community support and reserving the github issue queue for confirmed bugs and well-formed feature requests.

You can also contact us through Matrix (#libretime:matrix.org) where you can talk with other users and developers.

Contributors

Code Contributors

This project exists thanks to all the people who contribute.

Financial Contributors

Become a financial contributor and help us sustain our community on OpenCollective.

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website.

License

LibreTime 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, version 3 of the License.

Copyright (c) 2011-2017 Sourcefabric z.ú.

Copyright (c) 2017-2023 LibreTime Community

Please refer to the LEGACY file for more information.