aboutsummaryrefslogtreecommitdiff
path: root/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'migrations')
-rw-r--r--migrations/2015_10_14_17191444835970_create_settings_table.py19
-rw-r--r--migrations/2015_10_14_17201444836021_create_parts_table.py18
-rw-r--r--migrations/2015_10_14_17201444836027_create_books_table.py17
-rw-r--r--migrations/2015_10_14_17201444836036_create_alternative_book_names_table.py19
-rw-r--r--migrations/2015_10_14_17201444836042_create_verses_table.py21
-rw-r--r--migrations/2015_10_14_17201444836048_create_translations_table.py17
-rw-r--r--migrations/2015_10_14_17201444836054_create_translated_verses_table.py26
-rw-r--r--migrations/2015_10_14_17211444836060_create_passages_table.py31
-rw-r--r--migrations/2015_10_14_17211444836066_create_cross_references_table.py23
9 files changed, 191 insertions, 0 deletions
diff --git a/migrations/2015_10_14_17191444835970_create_settings_table.py b/migrations/2015_10_14_17191444835970_create_settings_table.py
new file mode 100644
index 0000000..96acc92
--- /dev/null
+++ b/migrations/2015_10_14_17191444835970_create_settings_table.py
@@ -0,0 +1,19 @@
+from orator.migrations import Migration
+
+
+class CreateSettingsTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('settings') as table:
+ table.text('key').primary()
+ table.text('value')
+ table.timestamps()
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('settings')
diff --git a/migrations/2015_10_14_17201444836021_create_parts_table.py b/migrations/2015_10_14_17201444836021_create_parts_table.py
new file mode 100644
index 0000000..abddc6b
--- /dev/null
+++ b/migrations/2015_10_14_17201444836021_create_parts_table.py
@@ -0,0 +1,18 @@
+from orator.migrations import Migration
+
+
+class CreatePartsTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('parts') as table:
+ table.string('name')
+ table.primary('name')
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('parts')
diff --git a/migrations/2015_10_14_17201444836027_create_books_table.py b/migrations/2015_10_14_17201444836027_create_books_table.py
new file mode 100644
index 0000000..62b631f
--- /dev/null
+++ b/migrations/2015_10_14_17201444836027_create_books_table.py
@@ -0,0 +1,17 @@
+from orator.migrations import Migration
+
+
+class CreateBooksTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('books') as table:
+ table.string('canonical_name').primary()
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('books')
diff --git a/migrations/2015_10_14_17201444836036_create_alternative_book_names_table.py b/migrations/2015_10_14_17201444836036_create_alternative_book_names_table.py
new file mode 100644
index 0000000..7d62655
--- /dev/null
+++ b/migrations/2015_10_14_17201444836036_create_alternative_book_names_table.py
@@ -0,0 +1,19 @@
+from orator.migrations import Migration
+
+
+class CreateAlternativeBookNamesTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('alternative_book_names') as table:
+ table.string('name').primary()
+ table.string('book')
+ table.foreign('book').references('canonical_name').on('books')
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('alternative_book_names')
diff --git a/migrations/2015_10_14_17201444836042_create_verses_table.py b/migrations/2015_10_14_17201444836042_create_verses_table.py
new file mode 100644
index 0000000..b95aa50
--- /dev/null
+++ b/migrations/2015_10_14_17201444836042_create_verses_table.py
@@ -0,0 +1,21 @@
+from orator.migrations import Migration
+
+
+class CreateVersesTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('verses') as table:
+ table.string('book')
+ table.small_integer('chapter')
+ table.small_integer('nr')
+ table.foreign('book').references('canonical_name').on('books')
+ table.primary(['book', 'chapter', 'nr'])
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('verses')
diff --git a/migrations/2015_10_14_17201444836048_create_translations_table.py b/migrations/2015_10_14_17201444836048_create_translations_table.py
new file mode 100644
index 0000000..3178feb
--- /dev/null
+++ b/migrations/2015_10_14_17201444836048_create_translations_table.py
@@ -0,0 +1,17 @@
+from orator.migrations import Migration
+
+
+class CreateTranslationsTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('translations') as table:
+ table.string('name').primary()
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('translations')
diff --git a/migrations/2015_10_14_17201444836054_create_translated_verses_table.py b/migrations/2015_10_14_17201444836054_create_translated_verses_table.py
new file mode 100644
index 0000000..43703e3
--- /dev/null
+++ b/migrations/2015_10_14_17201444836054_create_translated_verses_table.py
@@ -0,0 +1,26 @@
+from orator.migrations import Migration
+
+
+class CreateTranslatedVersesTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('translated_verses') as table:
+ table.string('translation')
+ table.string('book')
+ table.small_integer('chapter')
+ table.small_integer('nr')
+ table.string('text')
+ table.foreign('translation').references('name').on('translations')
+ table.foreign(['book', 'chapter', 'nr'])\
+ .references(['book', 'chapter', 'nr']).on('verses')\
+ .on_delete('restrict').on_update('cascade')
+ table.primary(['translation', 'book', 'chapter', 'nr'])
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('translated_verses')
diff --git a/migrations/2015_10_14_17211444836060_create_passages_table.py b/migrations/2015_10_14_17211444836060_create_passages_table.py
new file mode 100644
index 0000000..a044dbb
--- /dev/null
+++ b/migrations/2015_10_14_17211444836060_create_passages_table.py
@@ -0,0 +1,31 @@
+from orator.migrations import Migration
+
+
+class CreatePassagesTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('passages') as table:
+ table.increments('id')
+ table.string('fst_book')
+ table.small_integer('fst_chapter')
+ table.small_integer('fst_nr')
+ table.string('snd_book')
+ table.small_integer('snd_chapter')
+ table.small_integer('snd_nr')
+ table.foreign(['fst_book', 'fst_chapter', 'fst_nr'])\
+ .references(['book', 'chapter', 'nr']).on('verses')\
+ .on_delete('restrict').on_update('cascade')
+ table.foreign(['snd_book', 'snd_chapter', 'snd_nr'])\
+ .references(['book', 'chapter', 'nr']).on('verses')\
+ .on_delete('restrict').on_update('cascade')
+ table.unique(['fst_book', 'fst_chapter', 'fst_nr',
+ 'snd_book', 'snd_chapter', 'snd_nr'])
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('passages')
diff --git a/migrations/2015_10_14_17211444836066_create_cross_references_table.py b/migrations/2015_10_14_17211444836066_create_cross_references_table.py
new file mode 100644
index 0000000..a1607f2
--- /dev/null
+++ b/migrations/2015_10_14_17211444836066_create_cross_references_table.py
@@ -0,0 +1,23 @@
+from orator.migrations import Migration
+
+
+class CreateCrossReferencesTable(Migration):
+
+ def up(self):
+ """
+ Run the migrations.
+ """
+ with self.schema.create('crossreferences') as table:
+ table.integer('passage_id1')
+ table.integer('passage_id2')
+ table.timestamps()
+ table.small_integer('relevance').default(0)
+ table.foreign('passage_id1').references('id').on('passages')
+ table.foreign('passage_id2').references('id').on('passages')
+ table.primary(['passage_id1', 'passage_id2'])
+
+ def down(self):
+ """
+ Revert the migrations.
+ """
+ self.schema.drop('crossreferences')