import django.db.models.deletion
from django.db import migrations, models

import dcim.fields


def circuits_to_terms(apps, schema_editor):
    Circuit = apps.get_model('circuits', 'Circuit')
    CircuitTermination = apps.get_model('circuits', 'CircuitTermination')
    for c in Circuit.objects.all():
        CircuitTermination(
            circuit=c,
            term_side=b'A',
            site=c.site,
            interface=c.interface,
            port_speed=c.port_speed,
            upstream_speed=c.upstream_speed,
            xconnect_id=c.xconnect_id,
            pp_info=c.pp_info,
        ).save()


class Migration(migrations.Migration):

    replaces = [('circuits', '0001_initial'), ('circuits', '0002_auto_20160622_1821'), ('circuits', '0003_provider_32bit_asn_support'), ('circuits', '0004_circuit_add_tenant'), ('circuits', '0005_circuit_add_upstream_speed'), ('circuits', '0006_terminations')]

    dependencies = [
        ('tenancy', '0001_initial'),
        ('dcim', '0001_initial'),
        ('dcim', '0022_color_names_to_rgb'),
    ]

    operations = [
        migrations.CreateModel(
            name='CircuitType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, unique=True)),
                ('slug', models.SlugField(unique=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Provider',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('name', models.CharField(max_length=50, unique=True)),
                ('slug', models.SlugField(unique=True)),
                ('asn', dcim.fields.ASNField(blank=True, null=True, verbose_name=b'ASN')),
                ('account', models.CharField(blank=True, max_length=30, verbose_name=b'Account number')),
                ('portal_url', models.URLField(blank=True, verbose_name=b'Portal')),
                ('noc_contact', models.TextField(blank=True, verbose_name=b'NOC contact')),
                ('admin_contact', models.TextField(blank=True, verbose_name=b'Admin contact')),
                ('comments', models.TextField(blank=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Circuit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('cid', models.CharField(max_length=50, verbose_name=b'Circuit ID')),
                ('install_date', models.DateField(blank=True, null=True, verbose_name=b'Date installed')),
                ('port_speed', models.PositiveIntegerField(verbose_name=b'Port speed (Kbps)')),
                ('commit_rate', models.PositiveIntegerField(blank=True, null=True, verbose_name=b'Commit rate (Kbps)')),
                ('xconnect_id', models.CharField(blank=True, max_length=50, verbose_name=b'Cross-connect ID')),
                ('pp_info', models.CharField(blank=True, max_length=100, verbose_name=b'Patch panel/port(s)')),
                ('comments', models.TextField(blank=True)),
                ('interface', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='circuit', to='dcim.Interface')),
                ('provider', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='circuits.Provider')),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='dcim.Site')),
                ('type', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='circuits.CircuitType')),
                ('tenant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='tenancy.Tenant')),
                ('upstream_speed', models.PositiveIntegerField(blank=True, help_text=b'Upstream speed, if different from port speed', null=True, verbose_name=b'Upstream speed (Kbps)')),
            ],
            options={
                'ordering': ['provider', 'cid'],
                'unique_together': {('provider', 'cid')},
            },
        ),
        migrations.CreateModel(
            name='CircuitTermination',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('term_side', models.CharField(choices=[(b'A', b'A'), (b'Z', b'Z')], max_length=1, verbose_name='Termination')),
                ('port_speed', models.PositiveIntegerField(verbose_name=b'Port speed (Kbps)')),
                ('upstream_speed', models.PositiveIntegerField(blank=True, help_text=b'Upstream speed, if different from port speed', null=True, verbose_name=b'Upstream speed (Kbps)')),
                ('xconnect_id', models.CharField(blank=True, max_length=50, verbose_name=b'Cross-connect ID')),
                ('pp_info', models.CharField(blank=True, max_length=100, verbose_name=b'Patch panel/port(s)')),
                ('circuit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='terminations', to='circuits.Circuit')),
                ('interface', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='circuit_termination', to='dcim.Interface')),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuit_terminations', to='dcim.Site')),
            ],
            options={
                'ordering': ['circuit', 'term_side'],
                'unique_together': {('circuit', 'term_side')},
            },
        ),
        migrations.RunPython(
            code=circuits_to_terms,
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='interface',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='port_speed',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='pp_info',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='site',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='upstream_speed',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='xconnect_id',
        ),
    ]

20d1b03ff00a1a4212176d5750452a6d109b353f
<mask token>


class Migration(migrations.Migration):
    <mask token>
    <mask token>
    <mask token>

<mask token>


class Migration(migrations.Migration):
    replaces = [('circuits', '0001_initial'), ('circuits',
        '0002_auto_20160622_1821'), ('circuits',
        '0003_provider_32bit_asn_support'), ('circuits',
        '0004_circuit_add_tenant'), ('circuits',
        '0005_circuit_add_upstream_speed'), ('circuits', '0006_terminations')]
    dependencies = [('tenancy', '0001_initial'), ('dcim', '0001_initial'),
        ('dcim', '0022_color_names_to_rgb')]
    operations = [migrations.CreateModel(name='CircuitType', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('name', models.CharField(max_length=50,
        unique=True)), ('slug', models.SlugField(unique=True))], options={
        'ordering': ['name']}), migrations.CreateModel(name='Provider',
        fields=[('id', models.AutoField(auto_created=True, primary_key=True,
        serialize=False, verbose_name='ID')), ('created', models.DateField(
        auto_now_add=True)), ('last_updated', models.DateTimeField(auto_now
        =True)), ('name', models.CharField(max_length=50, unique=True)), (
        'slug', models.SlugField(unique=True)), ('asn', dcim.fields.
        ASNField(blank=True, null=True, verbose_name=b'ASN')), ('account',
        models.CharField(blank=True, max_length=30, verbose_name=
        b'Account number')), ('portal_url', models.URLField(blank=True,
        verbose_name=b'Portal')), ('noc_contact', models.TextField(blank=
        True, verbose_name=b'NOC contact')), ('admin_contact', models.
        TextField(blank=True, verbose_name=b'Admin contact')), ('comments',
        models.TextField(blank=True))], options={'ordering': ['name']}),
        migrations.CreateModel(name='Circuit', fields=[('id', models.
        AutoField(auto_created=True, primary_key=True, serialize=False,
        verbose_name='ID')), ('created', models.DateField(auto_now_add=True
        )), ('last_updated', models.DateTimeField(auto_now=True)), ('cid',
        models.CharField(max_length=50, verbose_name=b'Circuit ID')), (
        'install_date', models.DateField(blank=True, null=True,
        verbose_name=b'Date installed')), ('port_speed', models.
        PositiveIntegerField(verbose_name=b'Port speed (Kbps)')), (
        'commit_rate', models.PositiveIntegerField(blank=True, null=True,
        verbose_name=b'Commit rate (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('comments',
        models.TextField(blank=True)), ('interface', models.OneToOneField(
        blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
        related_name='circuit', to='dcim.Interface')), ('provider', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.Provider')), ('site', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='dcim.Site')), ('type', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.CircuitType')), ('tenant',
        models.ForeignKey(blank=True, null=True, on_delete=django.db.models
        .deletion.PROTECT, related_name='circuits', to='tenancy.Tenant')),
        ('upstream_speed', models.PositiveIntegerField(blank=True,
        help_text=b'Upstream speed, if different from port speed', null=
        True, verbose_name=b'Upstream speed (Kbps)'))], options={'ordering':
        ['provider', 'cid'], 'unique_together': {('provider', 'cid')}}),
        migrations.CreateModel(name='CircuitTermination', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('term_side', models.CharField(choices=
        [(b'A', b'A'), (b'Z', b'Z')], max_length=1, verbose_name=
        'Termination')), ('port_speed', models.PositiveIntegerField(
        verbose_name=b'Port speed (Kbps)')), ('upstream_speed', models.
        PositiveIntegerField(blank=True, help_text=
        b'Upstream speed, if different from port speed', null=True,
        verbose_name=b'Upstream speed (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('circuit',
        models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
        related_name='terminations', to='circuits.Circuit')), ('interface',
        models.OneToOneField(blank=True, null=True, on_delete=django.db.
        models.deletion.CASCADE, related_name='circuit_termination', to=
        'dcim.Interface')), ('site', models.ForeignKey(on_delete=django.db.
        models.deletion.PROTECT, related_name='circuit_terminations', to=
        'dcim.Site'))], options={'ordering': ['circuit', 'term_side'],
        'unique_together': {('circuit', 'term_side')}}), migrations.
        RunPython(code=circuits_to_terms), migrations.RemoveField(
        model_name='circuit', name='interface'), migrations.RemoveField(
        model_name='circuit', name='port_speed'), migrations.RemoveField(
        model_name='circuit', name='pp_info'), migrations.RemoveField(
        model_name='circuit', name='site'), migrations.RemoveField(
        model_name='circuit', name='upstream_speed'), migrations.
        RemoveField(model_name='circuit', name='xconnect_id')]

<mask token>


def circuits_to_terms(apps, schema_editor):
    Circuit = apps.get_model('circuits', 'Circuit')
    CircuitTermination = apps.get_model('circuits', 'CircuitTermination')
    for c in Circuit.objects.all():
        CircuitTermination(circuit=c, term_side=b'A', site=c.site,
            interface=c.interface, port_speed=c.port_speed, upstream_speed=
            c.upstream_speed, xconnect_id=c.xconnect_id, pp_info=c.pp_info
            ).save()


class Migration(migrations.Migration):
    replaces = [('circuits', '0001_initial'), ('circuits',
        '0002_auto_20160622_1821'), ('circuits',
        '0003_provider_32bit_asn_support'), ('circuits',
        '0004_circuit_add_tenant'), ('circuits',
        '0005_circuit_add_upstream_speed'), ('circuits', '0006_terminations')]
    dependencies = [('tenancy', '0001_initial'), ('dcim', '0001_initial'),
        ('dcim', '0022_color_names_to_rgb')]
    operations = [migrations.CreateModel(name='CircuitType', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('name', models.CharField(max_length=50,
        unique=True)), ('slug', models.SlugField(unique=True))], options={
        'ordering': ['name']}), migrations.CreateModel(name='Provider',
        fields=[('id', models.AutoField(auto_created=True, primary_key=True,
        serialize=False, verbose_name='ID')), ('created', models.DateField(
        auto_now_add=True)), ('last_updated', models.DateTimeField(auto_now
        =True)), ('name', models.CharField(max_length=50, unique=True)), (
        'slug', models.SlugField(unique=True)), ('asn', dcim.fields.
        ASNField(blank=True, null=True, verbose_name=b'ASN')), ('account',
        models.CharField(blank=True, max_length=30, verbose_name=
        b'Account number')), ('portal_url', models.URLField(blank=True,
        verbose_name=b'Portal')), ('noc_contact', models.TextField(blank=
        True, verbose_name=b'NOC contact')), ('admin_contact', models.
        TextField(blank=True, verbose_name=b'Admin contact')), ('comments',
        models.TextField(blank=True))], options={'ordering': ['name']}),
        migrations.CreateModel(name='Circuit', fields=[('id', models.
        AutoField(auto_created=True, primary_key=True, serialize=False,
        verbose_name='ID')), ('created', models.DateField(auto_now_add=True
        )), ('last_updated', models.DateTimeField(auto_now=True)), ('cid',
        models.CharField(max_length=50, verbose_name=b'Circuit ID')), (
        'install_date', models.DateField(blank=True, null=True,
        verbose_name=b'Date installed')), ('port_speed', models.
        PositiveIntegerField(verbose_name=b'Port speed (Kbps)')), (
        'commit_rate', models.PositiveIntegerField(blank=True, null=True,
        verbose_name=b'Commit rate (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('comments',
        models.TextField(blank=True)), ('interface', models.OneToOneField(
        blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
        related_name='circuit', to='dcim.Interface')), ('provider', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.Provider')), ('site', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='dcim.Site')), ('type', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.CircuitType')), ('tenant',
        models.ForeignKey(blank=True, null=True, on_delete=django.db.models
        .deletion.PROTECT, related_name='circuits', to='tenancy.Tenant')),
        ('upstream_speed', models.PositiveIntegerField(blank=True,
        help_text=b'Upstream speed, if different from port speed', null=
        True, verbose_name=b'Upstream speed (Kbps)'))], options={'ordering':
        ['provider', 'cid'], 'unique_together': {('provider', 'cid')}}),
        migrations.CreateModel(name='CircuitTermination', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('term_side', models.CharField(choices=
        [(b'A', b'A'), (b'Z', b'Z')], max_length=1, verbose_name=
        'Termination')), ('port_speed', models.PositiveIntegerField(
        verbose_name=b'Port speed (Kbps)')), ('upstream_speed', models.
        PositiveIntegerField(blank=True, help_text=
        b'Upstream speed, if different from port speed', null=True,
        verbose_name=b'Upstream speed (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('circuit',
        models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
        related_name='terminations', to='circuits.Circuit')), ('interface',
        models.OneToOneField(blank=True, null=True, on_delete=django.db.
        models.deletion.CASCADE, related_name='circuit_termination', to=
        'dcim.Interface')), ('site', models.ForeignKey(on_delete=django.db.
        models.deletion.PROTECT, related_name='circuit_terminations', to=
        'dcim.Site'))], options={'ordering': ['circuit', 'term_side'],
        'unique_together': {('circuit', 'term_side')}}), migrations.
        RunPython(code=circuits_to_terms), migrations.RemoveField(
        model_name='circuit', name='interface'), migrations.RemoveField(
        model_name='circuit', name='port_speed'), migrations.RemoveField(
        model_name='circuit', name='pp_info'), migrations.RemoveField(
        model_name='circuit', name='site'), migrations.RemoveField(
        model_name='circuit', name='upstream_speed'), migrations.
        RemoveField(model_name='circuit', name='xconnect_id')]

import django.db.models.deletion
from django.db import migrations, models
import dcim.fields


def circuits_to_terms(apps, schema_editor):
    Circuit = apps.get_model('circuits', 'Circuit')
    CircuitTermination = apps.get_model('circuits', 'CircuitTermination')
    for c in Circuit.objects.all():
        CircuitTermination(circuit=c, term_side=b'A', site=c.site,
            interface=c.interface, port_speed=c.port_speed, upstream_speed=
            c.upstream_speed, xconnect_id=c.xconnect_id, pp_info=c.pp_info
            ).save()


class Migration(migrations.Migration):
    replaces = [('circuits', '0001_initial'), ('circuits',
        '0002_auto_20160622_1821'), ('circuits',
        '0003_provider_32bit_asn_support'), ('circuits',
        '0004_circuit_add_tenant'), ('circuits',
        '0005_circuit_add_upstream_speed'), ('circuits', '0006_terminations')]
    dependencies = [('tenancy', '0001_initial'), ('dcim', '0001_initial'),
        ('dcim', '0022_color_names_to_rgb')]
    operations = [migrations.CreateModel(name='CircuitType', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('name', models.CharField(max_length=50,
        unique=True)), ('slug', models.SlugField(unique=True))], options={
        'ordering': ['name']}), migrations.CreateModel(name='Provider',
        fields=[('id', models.AutoField(auto_created=True, primary_key=True,
        serialize=False, verbose_name='ID')), ('created', models.DateField(
        auto_now_add=True)), ('last_updated', models.DateTimeField(auto_now
        =True)), ('name', models.CharField(max_length=50, unique=True)), (
        'slug', models.SlugField(unique=True)), ('asn', dcim.fields.
        ASNField(blank=True, null=True, verbose_name=b'ASN')), ('account',
        models.CharField(blank=True, max_length=30, verbose_name=
        b'Account number')), ('portal_url', models.URLField(blank=True,
        verbose_name=b'Portal')), ('noc_contact', models.TextField(blank=
        True, verbose_name=b'NOC contact')), ('admin_contact', models.
        TextField(blank=True, verbose_name=b'Admin contact')), ('comments',
        models.TextField(blank=True))], options={'ordering': ['name']}),
        migrations.CreateModel(name='Circuit', fields=[('id', models.
        AutoField(auto_created=True, primary_key=True, serialize=False,
        verbose_name='ID')), ('created', models.DateField(auto_now_add=True
        )), ('last_updated', models.DateTimeField(auto_now=True)), ('cid',
        models.CharField(max_length=50, verbose_name=b'Circuit ID')), (
        'install_date', models.DateField(blank=True, null=True,
        verbose_name=b'Date installed')), ('port_speed', models.
        PositiveIntegerField(verbose_name=b'Port speed (Kbps)')), (
        'commit_rate', models.PositiveIntegerField(blank=True, null=True,
        verbose_name=b'Commit rate (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('comments',
        models.TextField(blank=True)), ('interface', models.OneToOneField(
        blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
        related_name='circuit', to='dcim.Interface')), ('provider', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.Provider')), ('site', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='dcim.Site')), ('type', models.
        ForeignKey(on_delete=django.db.models.deletion.PROTECT,
        related_name='circuits', to='circuits.CircuitType')), ('tenant',
        models.ForeignKey(blank=True, null=True, on_delete=django.db.models
        .deletion.PROTECT, related_name='circuits', to='tenancy.Tenant')),
        ('upstream_speed', models.PositiveIntegerField(blank=True,
        help_text=b'Upstream speed, if different from port speed', null=
        True, verbose_name=b'Upstream speed (Kbps)'))], options={'ordering':
        ['provider', 'cid'], 'unique_together': {('provider', 'cid')}}),
        migrations.CreateModel(name='CircuitTermination', fields=[('id',
        models.AutoField(auto_created=True, primary_key=True, serialize=
        False, verbose_name='ID')), ('term_side', models.CharField(choices=
        [(b'A', b'A'), (b'Z', b'Z')], max_length=1, verbose_name=
        'Termination')), ('port_speed', models.PositiveIntegerField(
        verbose_name=b'Port speed (Kbps)')), ('upstream_speed', models.
        PositiveIntegerField(blank=True, help_text=
        b'Upstream speed, if different from port speed', null=True,
        verbose_name=b'Upstream speed (Kbps)')), ('xconnect_id', models.
        CharField(blank=True, max_length=50, verbose_name=
        b'Cross-connect ID')), ('pp_info', models.CharField(blank=True,
        max_length=100, verbose_name=b'Patch panel/port(s)')), ('circuit',
        models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
        related_name='terminations', to='circuits.Circuit')), ('interface',
        models.OneToOneField(blank=True, null=True, on_delete=django.db.
        models.deletion.CASCADE, related_name='circuit_termination', to=
        'dcim.Interface')), ('site', models.ForeignKey(on_delete=django.db.
        models.deletion.PROTECT, related_name='circuit_terminations', to=
        'dcim.Site'))], options={'ordering': ['circuit', 'term_side'],
        'unique_together': {('circuit', 'term_side')}}), migrations.
        RunPython(code=circuits_to_terms), migrations.RemoveField(
        model_name='circuit', name='interface'), migrations.RemoveField(
        model_name='circuit', name='port_speed'), migrations.RemoveField(
        model_name='circuit', name='pp_info'), migrations.RemoveField(
        model_name='circuit', name='site'), migrations.RemoveField(
        model_name='circuit', name='upstream_speed'), migrations.
        RemoveField(model_name='circuit', name='xconnect_id')]

import django.db.models.deletion
from django.db import migrations, models

import dcim.fields


def circuits_to_terms(apps, schema_editor):
    Circuit = apps.get_model('circuits', 'Circuit')
    CircuitTermination = apps.get_model('circuits', 'CircuitTermination')
    for c in Circuit.objects.all():
        CircuitTermination(
            circuit=c,
            term_side=b'A',
            site=c.site,
            interface=c.interface,
            port_speed=c.port_speed,
            upstream_speed=c.upstream_speed,
            xconnect_id=c.xconnect_id,
            pp_info=c.pp_info,
        ).save()


class Migration(migrations.Migration):

    replaces = [('circuits', '0001_initial'), ('circuits', '0002_auto_20160622_1821'), ('circuits', '0003_provider_32bit_asn_support'), ('circuits', '0004_circuit_add_tenant'), ('circuits', '0005_circuit_add_upstream_speed'), ('circuits', '0006_terminations')]

    dependencies = [
        ('tenancy', '0001_initial'),
        ('dcim', '0001_initial'),
        ('dcim', '0022_color_names_to_rgb'),
    ]

    operations = [
        migrations.CreateModel(
            name='CircuitType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, unique=True)),
                ('slug', models.SlugField(unique=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Provider',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('name', models.CharField(max_length=50, unique=True)),
                ('slug', models.SlugField(unique=True)),
                ('asn', dcim.fields.ASNField(blank=True, null=True, verbose_name=b'ASN')),
                ('account', models.CharField(blank=True, max_length=30, verbose_name=b'Account number')),
                ('portal_url', models.URLField(blank=True, verbose_name=b'Portal')),
                ('noc_contact', models.TextField(blank=True, verbose_name=b'NOC contact')),
                ('admin_contact', models.TextField(blank=True, verbose_name=b'Admin contact')),
                ('comments', models.TextField(blank=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Circuit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateField(auto_now_add=True)),
                ('last_updated', models.DateTimeField(auto_now=True)),
                ('cid', models.CharField(max_length=50, verbose_name=b'Circuit ID')),
                ('install_date', models.DateField(blank=True, null=True, verbose_name=b'Date installed')),
                ('port_speed', models.PositiveIntegerField(verbose_name=b'Port speed (Kbps)')),
                ('commit_rate', models.PositiveIntegerField(blank=True, null=True, verbose_name=b'Commit rate (Kbps)')),
                ('xconnect_id', models.CharField(blank=True, max_length=50, verbose_name=b'Cross-connect ID')),
                ('pp_info', models.CharField(blank=True, max_length=100, verbose_name=b'Patch panel/port(s)')),
                ('comments', models.TextField(blank=True)),
                ('interface', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='circuit', to='dcim.Interface')),
                ('provider', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='circuits.Provider')),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='dcim.Site')),
                ('type', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='circuits.CircuitType')),
                ('tenant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='circuits', to='tenancy.Tenant')),
                ('upstream_speed', models.PositiveIntegerField(blank=True, help_text=b'Upstream speed, if different from port speed', null=True, verbose_name=b'Upstream speed (Kbps)')),
            ],
            options={
                'ordering': ['provider', 'cid'],
                'unique_together': {('provider', 'cid')},
            },
        ),
        migrations.CreateModel(
            name='CircuitTermination',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('term_side', models.CharField(choices=[(b'A', b'A'), (b'Z', b'Z')], max_length=1, verbose_name='Termination')),
                ('port_speed', models.PositiveIntegerField(verbose_name=b'Port speed (Kbps)')),
                ('upstream_speed', models.PositiveIntegerField(blank=True, help_text=b'Upstream speed, if different from port speed', null=True, verbose_name=b'Upstream speed (Kbps)')),
                ('xconnect_id', models.CharField(blank=True, max_length=50, verbose_name=b'Cross-connect ID')),
                ('pp_info', models.CharField(blank=True, max_length=100, verbose_name=b'Patch panel/port(s)')),
                ('circuit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='terminations', to='circuits.Circuit')),
                ('interface', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='circuit_termination', to='dcim.Interface')),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='circuit_terminations', to='dcim.Site')),
            ],
            options={
                'ordering': ['circuit', 'term_side'],
                'unique_together': {('circuit', 'term_side')},
            },
        ),
        migrations.RunPython(
            code=circuits_to_terms,
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='interface',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='port_speed',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='pp_info',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='site',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='upstream_speed',
        ),
        migrations.RemoveField(
            model_name='circuit',
            name='xconnect_id',
        ),
    ]
