forked from openlp/openlp
removed file
This commit is contained in:
parent
6beac0d027
commit
ddc2812ca2
@ -1,124 +0,0 @@
|
|||||||
openlp.org 2.x Song Database Structure
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
------------
|
|
||||||
The song database in openlp.org 2.x is similar to the 1.x format. The
|
|
||||||
biggest differences are the addition of extra tables, and the use of
|
|
||||||
SQLite version 3.
|
|
||||||
|
|
||||||
The song database contains the following tables:
|
|
||||||
- authors
|
|
||||||
- authors_songs
|
|
||||||
- song_books
|
|
||||||
- songs
|
|
||||||
- songs_topics
|
|
||||||
- topics
|
|
||||||
|
|
||||||
|
|
||||||
"authors" Table
|
|
||||||
---------------
|
|
||||||
This table holds the names of all the authors. It has the following
|
|
||||||
columns:
|
|
||||||
|
|
||||||
* id
|
|
||||||
* first_name
|
|
||||||
* last_name
|
|
||||||
* display_name
|
|
||||||
|
|
||||||
|
|
||||||
"authors_songs" Table
|
|
||||||
---------------------
|
|
||||||
This is a bridging table between the "authors" and "songs" tables, which
|
|
||||||
serves to create a many-to-many relationship between the two tables. It
|
|
||||||
has the following columns:
|
|
||||||
|
|
||||||
* author_id
|
|
||||||
* song_id
|
|
||||||
|
|
||||||
|
|
||||||
"song_books" Table
|
|
||||||
------------------
|
|
||||||
The "song_books" table holds a list of books that a congregation gets
|
|
||||||
their songs from, or old hymnals now no longer used. This table has the
|
|
||||||
following columns:
|
|
||||||
|
|
||||||
* id
|
|
||||||
* name
|
|
||||||
* publisher
|
|
||||||
|
|
||||||
|
|
||||||
"songs" Table
|
|
||||||
-------------
|
|
||||||
This table contains the songs, and each song has a list of attributes.
|
|
||||||
The "songs" table has the following columns:
|
|
||||||
|
|
||||||
* id
|
|
||||||
* song_book_id
|
|
||||||
* title
|
|
||||||
* lyrics
|
|
||||||
* verse_order
|
|
||||||
* copyright
|
|
||||||
* comments
|
|
||||||
* ccli_number
|
|
||||||
* song_number
|
|
||||||
* theme_name
|
|
||||||
* search_title
|
|
||||||
* search_lyrics
|
|
||||||
|
|
||||||
|
|
||||||
"songs_topics" Table
|
|
||||||
--------------------
|
|
||||||
This is a bridging table between the "songs" and "topics" tables, which
|
|
||||||
serves to create a many-to-many relationship between the two tables. It
|
|
||||||
has the following columns:
|
|
||||||
|
|
||||||
* song_id
|
|
||||||
* topic_id
|
|
||||||
|
|
||||||
|
|
||||||
"topics" Table
|
|
||||||
--------------
|
|
||||||
The topics table holds a selection of topics that songs can cover. This
|
|
||||||
is useful when a worship leader wants to select songs with a certain
|
|
||||||
theme. This table has the following columns:
|
|
||||||
|
|
||||||
* id
|
|
||||||
* name
|
|
||||||
|
|
||||||
|
|
||||||
The lyrics definition (more or less similar to interformat to/from ChangingSong
|
|
||||||
The tags <i></i><b></b><u></u> can also be used within the lyrics test.
|
|
||||||
|
|
||||||
! Please note that this format has been checked at http://validator.w3.org/#validate_by_upload
|
|
||||||
|
|
||||||
<lyrics lang="en_US">
|
|
||||||
<title>Amazing Grace</title>
|
|
||||||
<verse name="v1">
|
|
||||||
<theme>name of verse specific theme (optional)</theme>
|
|
||||||
<comment>any text (optional)</comment>
|
|
||||||
<part name="men">
|
|
||||||
Amazing grace, how ...
|
|
||||||
</part>
|
|
||||||
<part name="women">
|
|
||||||
A b c
|
|
||||||
D e f
|
|
||||||
</part>
|
|
||||||
...
|
|
||||||
</verse>
|
|
||||||
<verse name="c">
|
|
||||||
<theme>name of verse specific theme (optional)</theme>
|
|
||||||
<comment>any text (optional)</comment>
|
|
||||||
...
|
|
||||||
</verse>
|
|
||||||
</lyrics>
|
|
||||||
<lyrics lang="de_DE">
|
|
||||||
<title>Erstaunliche Anmut</title>
|
|
||||||
<verse name="v1">
|
|
||||||
Erstaunliche Anmut, wie
|
|
||||||
...
|
|
||||||
</verse>
|
|
||||||
<verse name="c">
|
|
||||||
...
|
|
||||||
</verse>
|
|
||||||
</lyrics>
|
|
@ -71,6 +71,104 @@ def init_schema(url):
|
|||||||
|
|
||||||
``url``
|
``url``
|
||||||
The database to setup
|
The database to setup
|
||||||
|
|
||||||
|
The song database is structured as follows::
|
||||||
|
|
||||||
|
The song database contains the following tables:
|
||||||
|
* authors
|
||||||
|
* authors_songs
|
||||||
|
* media_files
|
||||||
|
* media_files_songs
|
||||||
|
* song_books
|
||||||
|
* songs
|
||||||
|
* songs_topics
|
||||||
|
* topics
|
||||||
|
|
||||||
|
|
||||||
|
"authors" Table
|
||||||
|
---------------
|
||||||
|
This table holds the names of all the authors. It has the following
|
||||||
|
columns:
|
||||||
|
|
||||||
|
* id
|
||||||
|
* first_name
|
||||||
|
* last_name
|
||||||
|
* display_name
|
||||||
|
|
||||||
|
|
||||||
|
"authors_songs" Table
|
||||||
|
---------------------
|
||||||
|
This is a bridging table between the "authors" and "songs" tables, which
|
||||||
|
serves to create a many-to-many relationship between the two tables. It
|
||||||
|
has the following columns:
|
||||||
|
|
||||||
|
* author_id
|
||||||
|
* song_id
|
||||||
|
|
||||||
|
"media_files" Table
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
* id
|
||||||
|
* file_name
|
||||||
|
* type
|
||||||
|
|
||||||
|
|
||||||
|
"media_files_songs" Table
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
* media_file_id
|
||||||
|
* song_id
|
||||||
|
|
||||||
|
|
||||||
|
"song_books" Table
|
||||||
|
------------------
|
||||||
|
The "song_books" table holds a list of books that a congregation gets
|
||||||
|
their songs from, or old hymnals now no longer used. This table has the
|
||||||
|
following columns:
|
||||||
|
|
||||||
|
* id
|
||||||
|
* name
|
||||||
|
* publisher
|
||||||
|
|
||||||
|
|
||||||
|
"songs" Table
|
||||||
|
-------------
|
||||||
|
This table contains the songs, and each song has a list of attributes.
|
||||||
|
The "songs" table has the following columns:
|
||||||
|
|
||||||
|
* id
|
||||||
|
* song_book_id
|
||||||
|
* title
|
||||||
|
* alternate_title
|
||||||
|
* lyrics
|
||||||
|
* verse_order
|
||||||
|
* copyright
|
||||||
|
* comments
|
||||||
|
* ccli_number
|
||||||
|
* song_number
|
||||||
|
* theme_name
|
||||||
|
* search_title
|
||||||
|
* search_lyrics
|
||||||
|
|
||||||
|
|
||||||
|
"songs_topics" Table
|
||||||
|
--------------------
|
||||||
|
This is a bridging table between the "songs" and "topics" tables, which
|
||||||
|
serves to create a many-to-many relationship between the two tables. It
|
||||||
|
has the following columns:
|
||||||
|
|
||||||
|
* song_id
|
||||||
|
* topic_id
|
||||||
|
|
||||||
|
|
||||||
|
"topics" Table
|
||||||
|
--------------
|
||||||
|
The topics table holds a selection of topics that songs can cover. This
|
||||||
|
is useful when a worship leader wants to select songs with a certain
|
||||||
|
theme. This table has the following columns:
|
||||||
|
|
||||||
|
* id
|
||||||
|
* name
|
||||||
"""
|
"""
|
||||||
session, metadata = init_db(url)
|
session, metadata = init_db(url)
|
||||||
|
|
||||||
@ -181,4 +279,4 @@ def init_schema(url):
|
|||||||
mapper(Topic, topics_table)
|
mapper(Topic, topics_table)
|
||||||
|
|
||||||
metadata.create_all(checkfirst=True)
|
metadata.create_all(checkfirst=True)
|
||||||
return session
|
return session
|
||||||
|
Loading…
Reference in New Issue
Block a user