From da4efbcd7b264561a057bc0620025363b27e49cc Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 20 Jan 2017 16:22:12 +0100 Subject: [PATCH] Add migrations 0001 based on django 1.8 migration system, add init script --- app/scripts/init.sh | 9 + app/scripts/worker.sh | 1 + telemeta/migrations/0001_initial.py | 1179 +++++++++++++++++++++++++++ telemeta/migrations/__init__.py | 0 4 files changed, 1189 insertions(+) create mode 100644 app/scripts/init.sh create mode 100644 telemeta/migrations/0001_initial.py create mode 100644 telemeta/migrations/__init__.py diff --git a/app/scripts/init.sh b/app/scripts/init.sh new file mode 100644 index 00000000..21bd3d5f --- /dev/null +++ b/app/scripts/init.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +app='/srv/app' +manage=$app'/manage.py' + +python $manage migrate --noinput +python $manage telemeta-create-admin-user +python $manage telemeta-create-boilerplate +python $manage bower_install -- --allow-root diff --git a/app/scripts/worker.sh b/app/scripts/worker.sh index f141f24e..4a52a260 100644 --- a/app/scripts/worker.sh +++ b/app/scripts/worker.sh @@ -7,6 +7,7 @@ wsgi=$app'/wsgi.py' # stating apps # pip install django-environ redis +pip uninstall -y south # waiting for other services bash $app/scripts/wait.sh diff --git a/telemeta/migrations/0001_initial.py b/telemeta/migrations/0001_initial.py new file mode 100644 index 00000000..6b659129 --- /dev/null +++ b/telemeta/migrations/0001_initial.py @@ -0,0 +1,1179 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import telemeta.models.fields +import telemeta.models.collection +import dirtyfields.dirtyfields +import django.db.models.deletion +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='AcquisitionMode', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'acquisition_modes', + 'verbose_name': 'mode of acquisition', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='AdConversion', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'ad_conversions', + 'verbose_name': 'A/D conversion', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='ContextKeyword', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'context_keywords', + 'verbose_name': 'keyword', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='CopyType', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'copy_type', + 'verbose_name': 'copy type', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Criteria', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('key', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='key', blank=True)), + ('value', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='value', blank=True)), + ], + options={ + 'db_table': 'search_criteria', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='EthnicGroup', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'ethnic_groups', + 'verbose_name': 'population / social group', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='EthnicGroupAlias', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='name', blank=True)), + ('ethnic_group', telemeta.models.fields.ForeignKey(related_name='aliases', verbose_name='population / social group', to='telemeta.EthnicGroup')), + ], + options={ + 'ordering': ['ethnic_group__value'], + 'db_table': 'ethnic_group_aliases', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Format', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('original_code', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original code', blank=True)), + ('original_number', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original number', blank=True)), + ('original_status', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original status', blank=True)), + ('original_state', telemeta.models.fields.TextField(default=b'', verbose_name='technical properties / conservation state', blank=True)), + ('original_comments', telemeta.models.fields.TextField(default=b'', verbose_name='comments / notes', blank=True)), + ('original_audio_quality', telemeta.models.fields.TextField(default=b'', verbose_name='audio quality', blank=True)), + ('recording_system', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='recording system', blank=True)), + ('tape_thickness', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='tape thickness (um)', blank=True)), + ('tape_reference', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='tape reference', blank=True)), + ('sticker_presence', telemeta.models.fields.BooleanField(default=False, verbose_name='sticker presence')), + ], + options={ + 'db_table': 'media_formats', + 'verbose_name': 'format', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='GenericStyle', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'generic_styles', + 'verbose_name': 'generic style', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='IdentifierType', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'identifier_type', + 'verbose_name': 'identifier type', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Instrument', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='name', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['name'], + 'db_table': 'instruments', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='InstrumentAlias', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='name', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['name'], + 'db_table': 'instrument_aliases', + 'verbose_name_plural': 'instrument aliases', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='InstrumentAliasRelation', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('alias', telemeta.models.fields.ForeignKey(related_name='other_name', verbose_name='alias', to='telemeta.InstrumentAlias')), + ('instrument', telemeta.models.fields.ForeignKey(related_name='relation', verbose_name='instrument', to='telemeta.Instrument')), + ], + options={ + 'db_table': 'instrument_alias_relations', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='InstrumentRelation', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('instrument', telemeta.models.fields.ForeignKey(related_name='parent_relation', verbose_name='instrument', to='telemeta.Instrument')), + ('parent_instrument', telemeta.models.fields.ForeignKey(related_name='child_relation', verbose_name='parent instrument', to='telemeta.Instrument')), + ], + options={ + 'db_table': 'instrument_relations', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Language', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('identifier', telemeta.models.fields.CharField(default=b'', max_length=3, verbose_name='identifier', blank=True)), + ('part2B', telemeta.models.fields.CharField(default=b'', max_length=3, verbose_name='equivalent ISO 639-2 identifier (bibliographic)', blank=True)), + ('part2T', telemeta.models.fields.CharField(default=b'', max_length=3, verbose_name='equivalent ISO 639-2 identifier (terminologic)', blank=True)), + ('part1', telemeta.models.fields.CharField(default=b'', max_length=1, verbose_name='equivalent ISO 639-1 identifier', blank=True)), + ('scope', telemeta.models.fields.CharField(default=b'', max_length=1, verbose_name='scope', blank=True, choices=[(b'I', b'Individual'), (b'M', b'Macrolanguage'), (b'S', b'Special')])), + ('type', telemeta.models.fields.CharField(default=b'', max_length=1, verbose_name='type', blank=True, choices=[(b'A', b'Ancient'), (b'C', b'Constructed'), (b'E', b'Extinct'), (b'H', b'Historical'), (b'L', b'Living'), (b'S', b'Special')])), + ('name', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='name', blank=True)), + ('comment', telemeta.models.fields.TextField(default=b'', verbose_name='comment', blank=True)), + ], + options={ + 'ordering': ['name'], + 'db_table': 'languages', + 'verbose_name_plural': 'languages', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='LegalRight', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'legal_rights', + 'verbose_name': 'legal rights', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Location', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', telemeta.models.fields.CharField(default=b'', unique=True, max_length=150, verbose_name='name', blank=True)), + ('type', telemeta.models.fields.IntegerField(default=0, blank=True, verbose_name='type', db_index=True, choices=[(2, 'country'), (1, 'continent'), (0, 'other')])), + ('latitude', telemeta.models.fields.FloatField(default=None, null=True, blank=True)), + ('longitude', telemeta.models.fields.FloatField(default=None, null=True, blank=True)), + ('is_authoritative', telemeta.models.fields.BooleanField(default=False, verbose_name='authoritative')), + ], + options={ + 'ordering': ['name'], + 'db_table': 'locations', + 'verbose_name': 'location', + 'verbose_name_plural': 'locations', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='LocationAlias', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('alias', telemeta.models.fields.CharField(default=b'', max_length=150, verbose_name='alias', blank=True)), + ('is_authoritative', telemeta.models.fields.BooleanField(default=False, verbose_name='authoritative')), + ('location', telemeta.models.fields.ForeignKey(related_name='aliases', verbose_name='location', to='telemeta.Location')), + ], + options={ + 'ordering': ['alias'], + 'db_table': 'location_aliases', + 'verbose_name_plural': 'location aliases', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='LocationRelation', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('is_direct', telemeta.models.fields.BooleanField(default=False, db_index=True)), + ('is_authoritative', telemeta.models.fields.BooleanField(default=False, verbose_name='authoritative')), + ('ancestor_location', telemeta.models.fields.ForeignKey(related_name='descendant_relations', verbose_name='ancestor location', to='telemeta.Location')), + ('location', telemeta.models.fields.ForeignKey(related_name='ancestor_relations', verbose_name='location', to='telemeta.Location')), + ], + options={ + 'ordering': ['ancestor_location__name'], + 'db_table': 'location_relations', + 'verbose_name_plural': 'location relations', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='LocationType', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('code', telemeta.models.fields.CharField(default=b'', unique=True, max_length=64, verbose_name='identifier', blank=True)), + ('name', telemeta.models.fields.CharField(default=b'', max_length=150, verbose_name='name', blank=True)), + ], + options={ + 'ordering': ['name'], + 'db_table': 'location_types', + 'verbose_name_plural': 'location types', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaCollection', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('alt_title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original title / translation', blank=True)), + ('creator', telemeta.models.fields.CharField(default=b'', help_text='First name, Last name ; First name, Last name', max_length=250, verbose_name='depositor / contributor', blank=True)), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('recorded_from_year', telemeta.models.fields.IntegerField(default=0, help_text='YYYY', verbose_name='recording year (from)', blank=True)), + ('recorded_to_year', telemeta.models.fields.IntegerField(default=0, help_text='YYYY', verbose_name='recording year (until)', blank=True)), + ('year_published', telemeta.models.fields.IntegerField(default=0, help_text='YYYY', verbose_name='year published', blank=True)), + ('public_access', telemeta.models.fields.CharField(default=b'metadata', max_length=16, verbose_name='access type', blank=True, choices=[(b'none', 'none'), (b'metadata', 'metadata'), (b'mixed', 'mixed'), (b'full', 'full')])), + ('collector', telemeta.models.fields.CharField(default=b'', help_text='First name, Last name ; First name, Last name', max_length=250, verbose_name='recordist', blank=True)), + ('publisher_serial', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='publisher serial number', blank=True)), + ('booklet_author', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='booklet author', blank=True)), + ('reference', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='publisher reference', blank=True)), + ('external_references', telemeta.models.fields.TextField(default=b'', verbose_name='bibliographic references', blank=True)), + ('auto_period_access', telemeta.models.fields.BooleanField(default=True, verbose_name='automatic access after a rolling period')), + ('code', telemeta.models.fields.CharField(default=b'', validators=[telemeta.models.collection.is_valid_collection_code], max_length=250, blank=True, unique=True, verbose_name='code')), + ('old_code', telemeta.models.fields.CharField(default=None, max_length=250, null=True, verbose_name='old code', blank=True)), + ('cnrs_contributor', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='CNRS depositor', blank=True)), + ('booklet_description', telemeta.models.fields.TextField(default=b'', verbose_name='related documentation', blank=True)), + ('alt_copies', telemeta.models.fields.TextField(default=b'', verbose_name='copies', blank=True)), + ('comment', telemeta.models.fields.TextField(default=b'', verbose_name='comment', blank=True)), + ('archiver_notes', telemeta.models.fields.TextField(default=b'', verbose_name='archiver notes', blank=True)), + ('items_done', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='items finished', blank=True)), + ('collector_is_creator', telemeta.models.fields.BooleanField(default=False, verbose_name='recordist identical to depositor')), + ('is_published', telemeta.models.fields.BooleanField(default=False, verbose_name='published')), + ('conservation_site', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='conservation site', blank=True)), + ('approx_duration', telemeta.models.fields.DurationField(default=b'0', help_text=b'hh:mm:ss', verbose_name='estimated duration', blank=True)), + ('physical_items_num', telemeta.models.fields.IntegerField(default=0, verbose_name='number of components (medium / piece)', blank=True)), + ('alt_ids', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='copies (obsolete field)', blank=True)), + ('travail', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='archiver notes (obsolete field)', blank=True)), + ('acquisition_mode', telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.AcquisitionMode', null=True, verbose_name='mode of acquisition')), + ('ad_conversion', telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.AdConversion', null=True, verbose_name='digitization')), + ('copy_type', telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.CopyType', null=True, verbose_name='copy type')), + ('legal_rights', telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.LegalRight', null=True, verbose_name='legal rights')), + ], + options={ + 'ordering': ['code'], + 'db_table': 'media_collections', + 'verbose_name': 'collection', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaCollectionIdentifier', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('identifier', models.CharField(unique=True, max_length=255, verbose_name='identifier', blank=True)), + ('date_add', models.DateTimeField(auto_now_add=True, verbose_name='date added')), + ('date_first', models.DateTimeField(verbose_name='date of first attribution')), + ('date_last', models.DateTimeField(verbose_name='date of last attribution')), + ('date_modified', models.DateTimeField(auto_now=True, verbose_name='date modified')), + ('notes', models.TextField(null=True, verbose_name='notes')), + ('collection', telemeta.models.fields.ForeignKey(related_name='identifiers', verbose_name='collection', to='telemeta.MediaCollection')), + ('type', telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.IdentifierType', null=True, verbose_name='type')), + ], + options={ + 'db_table': 'media_collection_identifier', + 'verbose_name': 'collection identifier', + 'verbose_name_plural': 'collection identifiers', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaCollectionRelated', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('mime_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='mime_type', blank=True)), + ('url', telemeta.models.fields.CharField(default=b'', max_length=500, verbose_name='url', blank=True)), + ('credits', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='credits', blank=True)), + ('file', telemeta.models.fields.FileField(db_column=b'filename', default=b'', upload_to=b'items/%Y/%m/%d', max_length=255, blank=True, verbose_name='file')), + ('collection', telemeta.models.fields.ForeignKey(related_name='related', verbose_name='collection', to='telemeta.MediaCollection')), + ], + options={ + 'db_table': 'media_collection_related', + 'verbose_name': 'collection related media', + 'verbose_name_plural': 'collection related media', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaCorpus', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=250, verbose_name='title')), + ('description', models.CharField(max_length=250, null=True, verbose_name='description_old', blank=True)), + ('descriptions', models.TextField(verbose_name='description', blank=True)), + ('code', models.CharField(unique=True, max_length=250, verbose_name='code')), + ('public_access', models.CharField(default=b'metadata', max_length=16, verbose_name='public access', choices=[(b'none', 'none'), (b'metadata', 'metadata'), (b'mixed', 'mixed'), (b'full', 'full')])), + ('recorded_from_year', telemeta.models.fields.IntegerField(default=0, help_text='YYYY', verbose_name='recording year (from)', blank=True)), + ('recorded_to_year', telemeta.models.fields.IntegerField(default=0, help_text='YYYY', verbose_name='recording year (until)', blank=True)), + ('children', models.ManyToManyField(related_name='corpus', verbose_name='collections', to='telemeta.MediaCollection', blank=True)), + ], + options={ + 'ordering': ['code'], + 'db_table': 'media_corpus', + 'verbose_name': 'corpus', + 'verbose_name_plural': 'corpus', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaCorpusRelated', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('mime_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='mime_type', blank=True)), + ('url', telemeta.models.fields.CharField(default=b'', max_length=500, verbose_name='url', blank=True)), + ('credits', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='credits', blank=True)), + ('file', telemeta.models.fields.FileField(db_column=b'filename', default=b'', upload_to=b'items/%Y/%m/%d', max_length=255, blank=True, verbose_name='file')), + ('resource', telemeta.models.fields.ForeignKey(related_name='related', verbose_name='corpus', to='telemeta.MediaCorpus')), + ], + options={ + 'db_table': 'media_corpus_related', + 'verbose_name': 'corpus related media', + 'verbose_name_plural': 'corpus related media', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaFonds', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=250, verbose_name='title')), + ('description', models.CharField(max_length=250, null=True, verbose_name='description_old', blank=True)), + ('descriptions', models.TextField(verbose_name='description', blank=True)), + ('code', models.CharField(unique=True, max_length=250, verbose_name='code')), + ('public_access', models.CharField(default=b'metadata', max_length=16, verbose_name='public access', choices=[(b'none', 'none'), (b'metadata', 'metadata'), (b'mixed', 'mixed'), (b'full', 'full')])), + ('children', models.ManyToManyField(related_name='fonds', verbose_name='corpus', to='telemeta.MediaCorpus', blank=True)), + ], + options={ + 'ordering': ['code'], + 'db_table': 'media_fonds', + 'verbose_name': 'fonds', + 'verbose_name_plural': 'fonds', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaFondsRelated', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('mime_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='mime_type', blank=True)), + ('url', telemeta.models.fields.CharField(default=b'', max_length=500, verbose_name='url', blank=True)), + ('credits', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='credits', blank=True)), + ('file', telemeta.models.fields.FileField(db_column=b'filename', default=b'', upload_to=b'items/%Y/%m/%d', max_length=255, blank=True, verbose_name='file')), + ('resource', telemeta.models.fields.ForeignKey(related_name='related', verbose_name='fonds', to='telemeta.MediaFonds')), + ], + options={ + 'db_table': 'media_fonds_related', + 'verbose_name': 'fonds related media', + 'verbose_name_plural': 'fonds related media', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItem', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('alt_title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original title / translation', blank=True)), + ('collector', telemeta.models.fields.CharField(default=b'', help_text='First name, Last name ; First name, Last name', max_length=250, verbose_name='collector', blank=True)), + ('recorded_from_date', telemeta.models.fields.DateField(default=None, help_text='YYYY-MM-DD', null=True, verbose_name='recording date (from)', blank=True)), + ('recorded_to_date', telemeta.models.fields.DateField(default=None, help_text='YYYY-MM-DD', null=True, verbose_name='recording date (until)', blank=True)), + ('public_access', telemeta.models.fields.CharField(default=b'metadata', max_length=16, verbose_name='access type', blank=True, choices=[(b'none', 'none'), (b'metadata', 'metadata'), (b'full', 'full')])), + ('location_comment', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='location details', blank=True)), + ('cultural_area', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='cultural area', blank=True)), + ('language', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='language', blank=True)), + ('context_comment', telemeta.models.fields.TextField(default=b'', verbose_name='Ethnographic context', blank=True)), + ('moda_execut', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='implementing rules', blank=True)), + ('author', telemeta.models.fields.CharField(default=b'', help_text='First name, Last name ; First name, Last name', max_length=250, verbose_name='author / compositor', blank=True)), + ('depositor', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='depositor', blank=True)), + ('code', telemeta.models.fields.CharField(default=b'', max_length=250, blank=True, help_text='CollectionCode_ItemCode', unique=True, verbose_name='code')), + ('old_code', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='original code', blank=True)), + ('track', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='item number', blank=True)), + ('collector_selection', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='collector selection', blank=True)), + ('collector_from_collection', telemeta.models.fields.BooleanField(default=False, verbose_name='collector as in collection')), + ('creator_reference', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='creator reference', blank=True)), + ('external_references', telemeta.models.fields.TextField(default=b'', verbose_name='published references', blank=True)), + ('auto_period_access', telemeta.models.fields.BooleanField(default=True, verbose_name='automatic access after a rolling period')), + ('comment', telemeta.models.fields.TextField(default=b'', verbose_name='remarks', blank=True)), + ('approx_duration', telemeta.models.fields.DurationField(default=b'0', help_text='hh:mm:ss', verbose_name='approximative duration', blank=True)), + ('mimetype', telemeta.models.fields.CharField(default=b'', max_length=255, verbose_name='mime type', blank=True)), + ('file', telemeta.models.fields.FileField(db_column=b'filename', default=b'', upload_to=b'items/%Y/%m/%d', max_length=1024, blank=True, verbose_name='file')), + ('url', models.URLField(max_length=512, verbose_name='URL', blank=True)), + ('recordist', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='recordist', blank=True)), + ('digitalist', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='digitalist', blank=True)), + ('digitization_date', telemeta.models.fields.DateField(default=None, null=True, verbose_name='digitization date', blank=True)), + ('publishing_date', telemeta.models.fields.DateField(default=None, null=True, verbose_name='publishing date', blank=True)), + ('scientist', telemeta.models.fields.CharField(default=b'', help_text='First name, Last name ; First name, Last name', max_length=250, verbose_name='scientist', blank=True)), + ('summary', telemeta.models.fields.TextField(default=b'', verbose_name='summary', blank=True)), + ('contributor', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='contributor', blank=True)), + ('collection', telemeta.models.fields.ForeignKey(related_name='items', verbose_name='collection', to='telemeta.MediaCollection')), + ('ethnic_group', telemeta.models.fields.WeakForeignKey(related_name='items', default=None, blank=True, to='telemeta.EthnicGroup', null=True, verbose_name='population / social group')), + ('generic_style', telemeta.models.fields.WeakForeignKey(related_name='items', default=None, blank=True, to='telemeta.GenericStyle', null=True, verbose_name='generic style')), + ('language_iso', telemeta.models.fields.ForeignKey(related_name='items', on_delete=django.db.models.deletion.SET_NULL, default=None, blank=True, to='telemeta.Language', null=True, verbose_name='Language (ISO norm)')), + ('location', telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.Location', null=True, verbose_name='location')), + ], + options={ + 'db_table': 'media_items', + 'verbose_name': 'item', + 'permissions': (('can_play_all_items', 'Can play all media items'), ('can_download_all_items', 'Can download all media items')), + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemAnalysis', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('analyzer_id', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='id', blank=True)), + ('name', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='name', blank=True)), + ('value', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='value', blank=True)), + ('unit', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='unit', blank=True)), + ('item', telemeta.models.fields.ForeignKey(related_name='analysis', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'ordering': ['name'], + 'db_table': 'media_analysis', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemIdentifier', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('identifier', models.CharField(unique=True, max_length=255, verbose_name='identifier', blank=True)), + ('date_add', models.DateTimeField(auto_now_add=True, verbose_name='date added')), + ('date_first', models.DateTimeField(verbose_name='date of first attribution')), + ('date_last', models.DateTimeField(verbose_name='date of last attribution')), + ('date_modified', models.DateTimeField(auto_now=True, verbose_name='date modified')), + ('notes', models.TextField(null=True, verbose_name='notes')), + ('item', telemeta.models.fields.ForeignKey(related_name='identifiers', verbose_name='item', to='telemeta.MediaItem')), + ('type', telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.IdentifierType', null=True, verbose_name='type')), + ], + options={ + 'db_table': 'media_item_identifier', + 'verbose_name': 'item identifier', + 'verbose_name_plural': 'item identifiers', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemKeyword', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('item', telemeta.models.fields.ForeignKey(related_name='keyword_relations', verbose_name='item', to='telemeta.MediaItem')), + ('keyword', telemeta.models.fields.ForeignKey(related_name='item_relations', verbose_name='keyword', to='telemeta.ContextKeyword')), + ], + options={ + 'db_table': 'media_item_keywords', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemMarker', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('public_id', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='public_id', blank=True)), + ('time', telemeta.models.fields.FloatField(default=0, verbose_name='time (s)', blank=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('author', telemeta.models.fields.ForeignKey(related_name='markers', default=None, blank=True, to=settings.AUTH_USER_MODEL, null=True, verbose_name='author')), + ('item', telemeta.models.fields.ForeignKey(related_name='markers', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'ordering': ['time'], + 'db_table': 'media_markers', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemPerformance', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('instruments_num', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='number', blank=True)), + ('musicians', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='interprets', blank=True)), + ('alias', telemeta.models.fields.WeakForeignKey(related_name='performances', default=None, blank=True, to='telemeta.InstrumentAlias', null=True, verbose_name='vernacular name')), + ('instrument', telemeta.models.fields.WeakForeignKey(related_name='performances', default=None, blank=True, to='telemeta.Instrument', null=True, verbose_name='composition')), + ('media_item', telemeta.models.fields.ForeignKey(related_name='performances', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'db_table': 'media_item_performances', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemRelated', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('mime_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='mime_type', blank=True)), + ('url', telemeta.models.fields.CharField(default=b'', max_length=500, verbose_name='url', blank=True)), + ('credits', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='credits', blank=True)), + ('file', telemeta.models.fields.FileField(db_column=b'filename', default=b'', upload_to=b'items/%Y/%m/%d', max_length=255, blank=True, verbose_name='file')), + ('item', telemeta.models.fields.ForeignKey(related_name='related', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'db_table': 'media_item_related', + 'verbose_name': 'item related media', + 'verbose_name_plural': 'item related media', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemTranscoded', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('mimetype', models.CharField(max_length=255, verbose_name='mime_type', blank=True)), + ('date_added', models.DateTimeField(auto_now_add=True, verbose_name='date')), + ('status', models.IntegerField(default=1, verbose_name='status', choices=[(0, 'broken'), (1, 'pending'), (2, 'processing'), (3, 'done'), (5, 'ready')])), + ('file', models.FileField(upload_to=b'items/%Y/%m/%d', max_length=1024, verbose_name='file', blank=True)), + ('item', models.ForeignKey(related_name='transcoded', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'db_table': 'telemeta_media_transcoded', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaItemTranscodingFlag', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('mime_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='mime_type', blank=True)), + ('date', models.DateTimeField(auto_now=True, verbose_name='date')), + ('value', telemeta.models.fields.BooleanField(default=False, verbose_name='transcoded')), + ('item', telemeta.models.fields.ForeignKey(related_name='transcoding', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'db_table': 'media_transcoding', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaPart', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('start', telemeta.models.fields.FloatField(default=0, verbose_name='start', blank=True)), + ('end', telemeta.models.fields.FloatField(default=0, verbose_name='end', blank=True)), + ('item', telemeta.models.fields.ForeignKey(related_name='parts', verbose_name='item', to='telemeta.MediaItem')), + ], + options={ + 'db_table': 'media_parts', + 'verbose_name': 'item part', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MediaType', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'media_type', + 'verbose_name': 'media type', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MetadataAuthor', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'metadata_authors', + 'verbose_name': 'record author', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='MetadataWriter', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'metadata_writers', + 'verbose_name': 'record writer', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='NumberOfChannels', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'original_channel_number', + 'verbose_name': 'number of channels', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Organization', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'organization', + 'verbose_name': 'organization', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='OriginalFormat', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'original_format', + 'verbose_name': 'original format', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='PhysicalFormat', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'physical_formats', + 'verbose_name': 'archive format', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Playlist', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('public_id', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='public_id', blank=True)), + ('title', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='title', blank=True)), + ('description', telemeta.models.fields.TextField(default=b'', verbose_name='description', blank=True)), + ('author', telemeta.models.fields.ForeignKey(related_name='playlists', db_column=b'author', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'db_table': 'playlists', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='PlaylistResource', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('public_id', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='public_id', blank=True)), + ('resource_type', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='resource_type', blank=True, choices=[(b'item', b'item'), (b'collection', b'collection'), (b'marker', b'marker'), (b'fonds', b'fonds'), (b'corpus', b'corpus')])), + ('resource_id', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='resource_id', blank=True)), + ('playlist', telemeta.models.fields.ForeignKey(related_name='resources', verbose_name='playlist', to='telemeta.Playlist')), + ], + options={ + 'db_table': 'playlist_resources', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Publisher', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'publishers', + 'verbose_name': 'publisher', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='PublisherCollection', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='value', blank=True)), + ('publisher', telemeta.models.fields.ForeignKey(related_name='publisher_collections', verbose_name='publisher', to='telemeta.Publisher')), + ], + options={ + 'ordering': ['value'], + 'db_table': 'publisher_collections', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='PublishingStatus', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'publishing_status', + 'verbose_name': 'secondary edition', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='RecordingContext', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'recording_contexts', + 'verbose_name': 'recording context', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Revision', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('element_type', telemeta.models.fields.CharField(default=b'', max_length=16, verbose_name='element type', blank=True, choices=[(b'collection', b'collection'), (b'item', b'item'), (b'part', b'part'), (b'marker', b'marker'), (b'media', b'media'), (b'fonds', b'fonds'), (b'corpus', b'corpus')])), + ('element_id', telemeta.models.fields.IntegerField(default=0, verbose_name='element identifier', blank=True)), + ('change_type', telemeta.models.fields.CharField(default=b'', max_length=16, verbose_name='modification type', blank=True, choices=[(b'import', b'import'), (b'create', b'create'), (b'update', b'update'), (b'delete', b'delete')])), + ('time', models.DateTimeField(auto_now_add=True, verbose_name='time')), + ('user', telemeta.models.fields.ForeignKey(related_name='revisions', db_column=b'username', verbose_name='user', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ['-time'], + 'db_table': 'revisions', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Rights', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'rights', + 'verbose_name': 'rights', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Search', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('date', models.DateTimeField(auto_now_add=True, verbose_name='date')), + ('description', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Description', blank=True)), + ('criteria', models.ManyToManyField(related_name='search', verbose_name='criteria', to='telemeta.Criteria', blank=True)), + ('username', telemeta.models.fields.ForeignKey(related_name='searches', db_column=b'username', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ['-date'], + 'db_table': 'searches', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Status', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'media_status', + 'verbose_name': 'collection status', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='TapeLength', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'tape_length', + 'verbose_name': 'tape length (cm)', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='TapeSpeed', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'tape_speed', + 'verbose_name': 'tape speed (cm/s)', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='TapeVendor', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'tape_vendor', + 'verbose_name': 'tape brand', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='TapeWheelDiameter', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'tape_wheel_diameter', + 'verbose_name': 'tape wheel diameter (cm)', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='TapeWidth', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'tape_width', + 'verbose_name': 'tape width (inch)', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='Topic', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'topic', + 'verbose_name': 'topic', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.CreateModel( + name='UserProfile', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('institution', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Institution', blank=True)), + ('department', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Department', blank=True)), + ('attachment', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Attachment', blank=True)), + ('function', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Function', blank=True)), + ('address', telemeta.models.fields.TextField(default=b'', verbose_name='Address', blank=True)), + ('telephone', telemeta.models.fields.CharField(default=b'', max_length=250, verbose_name='Telephone', blank=True)), + ('expiration_date', telemeta.models.fields.DateField(default=None, null=True, verbose_name='Expiration_date', blank=True)), + ('user', telemeta.models.fields.ForeignKey(to=settings.AUTH_USER_MODEL, unique=True)), + ], + options={ + 'db_table': 'profiles', + 'permissions': (('can_view_users_and_profiles', 'Can view other users and any profile'),), + }, + ), + migrations.CreateModel( + name='VernacularStyle', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', telemeta.models.fields.CharField(default=b'', unique=True, max_length=250, verbose_name='value', blank=True)), + ('notes', telemeta.models.fields.TextField(default=b'', verbose_name='notes', blank=True)), + ], + options={ + 'ordering': ['value'], + 'db_table': 'vernacular_styles', + 'verbose_name': 'vernacular style', + }, + bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), + ), + migrations.AddField( + model_name='mediaitem', + name='media_type', + field=telemeta.models.fields.WeakForeignKey(related_name='items', default=None, blank=True, to='telemeta.MediaType', null=True, verbose_name='media type'), + ), + migrations.AddField( + model_name='mediaitem', + name='organization', + field=telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.Organization', null=True, verbose_name='organization'), + ), + migrations.AddField( + model_name='mediaitem', + name='rights', + field=telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.Rights', null=True, verbose_name='rights'), + ), + migrations.AddField( + model_name='mediaitem', + name='topic', + field=telemeta.models.fields.WeakForeignKey(default=None, blank=True, to='telemeta.Topic', null=True, verbose_name='topic'), + ), + migrations.AddField( + model_name='mediaitem', + name='vernacular_style', + field=telemeta.models.fields.WeakForeignKey(related_name='items', default=None, blank=True, to='telemeta.VernacularStyle', null=True, verbose_name='vernacular style'), + ), + migrations.AddField( + model_name='mediacollection', + name='media_type', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.MediaType', null=True, verbose_name='media type'), + ), + migrations.AddField( + model_name='mediacollection', + name='metadata_author', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.MetadataAuthor', null=True, verbose_name='record author'), + ), + migrations.AddField( + model_name='mediacollection', + name='metadata_writer', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.MetadataWriter', null=True, verbose_name='record writer'), + ), + migrations.AddField( + model_name='mediacollection', + name='original_format', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.OriginalFormat', null=True, verbose_name='original format'), + ), + migrations.AddField( + model_name='mediacollection', + name='physical_format', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.PhysicalFormat', null=True, verbose_name='archive format'), + ), + migrations.AddField( + model_name='mediacollection', + name='publisher', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.Publisher', null=True, verbose_name='publisher'), + ), + migrations.AddField( + model_name='mediacollection', + name='publisher_collection', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.PublisherCollection', null=True, verbose_name='publisher collection'), + ), + migrations.AddField( + model_name='mediacollection', + name='publishing_status', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.PublishingStatus', null=True, verbose_name='secondary edition'), + ), + migrations.AddField( + model_name='mediacollection', + name='recording_context', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.RecordingContext', null=True, verbose_name='recording context'), + ), + migrations.AddField( + model_name='mediacollection', + name='status', + field=telemeta.models.fields.WeakForeignKey(related_name='collections', default=None, blank=True, to='telemeta.Status', null=True, verbose_name='collection status'), + ), + migrations.AddField( + model_name='location', + name='complete_type', + field=telemeta.models.fields.ForeignKey(related_name='locations', verbose_name='complete type', to='telemeta.LocationType'), + ), + migrations.AddField( + model_name='location', + name='current_location', + field=telemeta.models.fields.WeakForeignKey(related_name='past_names', default=None, blank=True, to='telemeta.Location', null=True, verbose_name='current location'), + ), + migrations.AddField( + model_name='format', + name='item', + field=telemeta.models.fields.ForeignKey(related_name='format', on_delete=django.db.models.deletion.SET_NULL, default=None, blank=True, to='telemeta.MediaItem', null=True, verbose_name='item'), + ), + migrations.AddField( + model_name='format', + name='original_channels', + field=telemeta.models.fields.WeakForeignKey(related_name='format', default=None, blank=True, to='telemeta.NumberOfChannels', null=True, verbose_name='number of channels'), + ), + migrations.AddField( + model_name='format', + name='original_location', + field=telemeta.models.fields.ForeignKey(related_name='format', on_delete=django.db.models.deletion.SET_NULL, default=None, blank=True, to='telemeta.Location', null=True, verbose_name='original location'), + ), + migrations.AddField( + model_name='format', + name='physical_format', + field=telemeta.models.fields.WeakForeignKey(related_name='format', default=None, blank=True, to='telemeta.PhysicalFormat', null=True, verbose_name='physical format'), + ), + migrations.AddField( + model_name='format', + name='tape_speed', + field=telemeta.models.fields.WeakForeignKey(related_name='format', default=None, blank=True, to='telemeta.TapeSpeed', null=True, verbose_name='tape speed (cm/s)'), + ), + migrations.AddField( + model_name='format', + name='tape_vendor', + field=telemeta.models.fields.WeakForeignKey(related_name='format', default=None, blank=True, to='telemeta.TapeVendor', null=True, verbose_name='tape vendor'), + ), + migrations.AddField( + model_name='format', + name='tape_wheel_diameter', + field=telemeta.models.fields.WeakForeignKey(related_name='format', default=None, blank=True, to='telemeta.TapeWheelDiameter', null=True, verbose_name='tape wheel diameter (cm)'), + ), + migrations.AlterUniqueTogether( + name='mediaitemkeyword', + unique_together=set([('item', 'keyword')]), + ), + migrations.AlterUniqueTogether( + name='mediaitemidentifier', + unique_together=set([('identifier', 'item')]), + ), + migrations.AlterUniqueTogether( + name='mediacollectionidentifier', + unique_together=set([('identifier', 'collection')]), + ), + migrations.AlterUniqueTogether( + name='locationrelation', + unique_together=set([('location', 'ancestor_location')]), + ), + migrations.AlterUniqueTogether( + name='locationalias', + unique_together=set([('location', 'alias')]), + ), + migrations.AlterUniqueTogether( + name='instrumentrelation', + unique_together=set([('instrument', 'parent_instrument')]), + ), + migrations.AlterUniqueTogether( + name='instrumentaliasrelation', + unique_together=set([('alias', 'instrument')]), + ), + migrations.AlterUniqueTogether( + name='ethnicgroupalias', + unique_together=set([('ethnic_group', 'value')]), + ), + ] diff --git a/telemeta/migrations/__init__.py b/telemeta/migrations/__init__.py new file mode 100644 index 00000000..e69de29b -- 2.39.5