2016-11-10 4 views
0

ive добавлено новое приложение и создано несколько моделей. Я запускал makemigrations и мигрировал, и все прошло успешно. Однако, когда я открываю таблицу sqlite, ни одна из таблиц не создается.Django 1.9 - создано новое приложение run migrate, таблицы не создаются

выборка из моделей:

from __future__ import unicode_literals 
from django.db import models 
from django.conf import settings 
import string 
import random 
import time 
import os 

# Create your models here. 
from service.models import ServiceContacts 


class Subnets(models.Model): 
    subnet = models.GenericIPAddressField(protocol='IPv4',verbose_name="Subnet",blank=True,null=True) 
    subnet_mask = models.CharField(max_length=4,verbose_name="Subnet Mask",choices=settings.SUBNET_MASK_CHOICES,blank=True) 
    subnet_type = models.CharField(max_length=10 ,verbose_name='Subnet Type',choices=settings.SUBNET_TYPE_CHOICES,blank=True) 

    class Meta: 
     verbose_name = "Site Subnet Data" 
     verbose_name_plural = "Site Subnet Data" 

class SiteContacts(models.Model): 
    name = models.CharField(max_length=200) 
    title = models.CharField(max_length=200) 
    mobile = models.CharField(max_length=200,blank=True, null=True) 
    ddi = models.CharField(max_length=200,blank=True, null=True) 
    notes = models.TextField(blank=True, null=True) 

    class Meta: 
     verbose_name = "Site Contact Data" 
     verbose_name_plural = "Site Contact Data" 

образец из щёток

# -*- coding: utf-8 -*- 
# Generated by Django 1.9.6 on 2016-11-09 17:32 
from __future__ import unicode_literals 

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


class Migration(migrations.Migration): 

    initial = True 

    dependencies = [ 
     ('service', '0007_auto_20160701_0931'), 
    ] 

    operations = [ 
     migrations.CreateModel(
      name='CircuitFiles', 
      fields=[ 
       ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
       ('circuit_file', models.FileField(blank=True, upload_to=sites.models.service_upload_path)), 
       ('file_name', models.CharField(max_length=200, verbose_name='File Name')), 
      ], 
      options={ 
       'verbose_name': 'Circuit Files', 
       'verbose_name_plural': 'Circuit Files', 
      }, 
     ), 
     migrations.CreateModel(
      name='CircuitNotes', 
      fields=[ 
       ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
       ('date', models.DateField()), 
       ('notes', models.TextField(blank=True)), 
      ], 
      options={ 
       'verbose_name': 'Circuit Notes', 
       'verbose_name_plural': 'Circuit Notes', 
      }, 
     ), 

столы из sqlite3db

[[email protected] infternal]# sqlite3 db.sqlite3 
SQLite version 3.7.17 2013-05-20 00:56:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> .tables 
auth_group     networks_circuitnotes 
auth_group_permissions  networks_configtemplates 
auth_permission    networks_configvariables 
auth_user     networks_majorsiteinfodata 
auth_user_groups    networks_networkstock 
auth_user_user_permissions networks_networkstockusage 
django_admin_log    networks_showroomconfigdata 
django_content_type   networks_sitecontacts 
django_migrations   networks_sitefiles 
django_session    networks_sitefiletype 
django_site     networks_snmpdata 
sqlite> 

я должен увидеть sites_subnets и sites_sitecontacts там, а также многие другие.

таблица миграции имеет ниже в нем, я не могу видеть сайты | 0001_inital там ...

100|networks|0069_configvariables_type|2016-11-03 15:17:41.424747 
101|networks|0070_circuitinfodata_circuit_preference|2016-11-09 09:11:29.358213 
102|networks|0071_auto_20161109_0915|2016-11-09 09:15:22.455639 
103|networks|0072_auto_20161109_0916|2016-11-09 09:16:25.962542 
104|sites|0002_auto_20161110_0859|2016-11-10 08:59:31.071382 

Установленные приложения:

INSTALLED_APPS = (
    'home.apps.HomeConfig', 
    'oncall.apps.OncallConfig', 
    'networks.apps.NetworksConfig', 
    'sites.apps.SitesConfig', 

Сделать Миграции:

[[email protected] infternal]# python manage.py makemigrations 
Migrations for 'networks': 
    0073_auto_20161110_1059.py: 
    - Alter field circuit_type on circuitinfodata 
Migrations for 'sites': 
    0003_auto_20161110_1059.py: 
    - Alter field circuit_type on circuits 
[[email protected] infternal]# python manage.py migrate 
Operations to perform: 
    Apply all migrations: service, sessions, admin, sites, auth, contenttypes, maintenance, oncall, networks 
Running migrations: 
    Rendering model states... DONE 
    Applying networks.0073_auto_20161110_1059... OK 
    Applying sites.0003_auto_20161110_1059...Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/lib64/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/usr/lib64/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/lib64/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/usr/lib64/python2.7/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/usr/lib64/python2.7/site-packages/django/core/management/commands/migrate.py", line 200, in handle 
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) 
    File "/usr/lib64/python2.7/site-packages/django/db/migrations/executor.py", line 92, in migrate 
    self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial) 
    File "/usr/lib64/python2.7/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards 
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) 
    File "/usr/lib64/python2.7/site-packages/django/db/migrations/executor.py", line 198, in apply_migration 
    state = migration.apply(state, schema_editor) 
    File "/usr/lib64/python2.7/site-packages/django/db/migrations/migration.py", line 123, in apply 
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state) 
    File "/usr/lib64/python2.7/site-packages/django/db/migrations/operations/fields.py", line 201, in database_forwards 
    schema_editor.alter_field(from_model, from_field, to_field) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/base/schema.py", line 482, in alter_field 
    old_db_params, new_db_params, strict) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/sqlite3/schema.py", line 253, in _alter_field 
    self._remake_table(model, alter_fields=[(old_field, new_field)]) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/sqlite3/schema.py", line 184, in _remake_table 
    self.alter_db_table(model, temp_model._meta.db_table, model._meta.db_table) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/base/schema.py", line 359, in alter_db_table 
    "new_table": self.quote_name(new_db_table), 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/base/schema.py", line 110, in execute 
    cursor.execute(sql, params) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/usr/lib64/python2.7/site-packages/django/db/utils.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/usr/lib64/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 323, in execute 
    return Database.Cursor.execute(self, query, params) 
django.db.utils.OperationalError: no such table: sites_circuits 
+0

@ e4c5 ive добавил вывод, похоже, что его отсутствует 0001_initial – AlexW

+1

, если это новая база данных, возможно, все выйдет. Сделайте manage.py makemigrations снова – e4c5

+0

добавил вывод от makemigrations – AlexW

ответ

0

ok heres, что я сделал.

python manage.py sqlmigrate sites 0001 

это дало мне SQL для миграции, я затем запустить

sqlite3 db.sqlite3 

, который открывает базу данных, я потом просто скопировать и вставить в выходе из sqlmigrate команды в SQL и его все работает теперь

0

Попробуйте перенести конкретное приложение, используя следующий процесс.

Если вы создаете начальную миграцию и затем запустить миграцию команды когда-то миграция не надевает полностью, поэтому постарайтесь перенести с помощью следующей команды

python manage.py makemigrations 

Initial миграция создается затем выполнить команду миграции с именем приложения

python manage.py migrate appname 

Надеюсь, это вам поможет.

+0

, добавила вывод из makemigrations, она сообщает мне, что таблица не существует – AlexW

Смежные вопросы