Django успешная миграция, но не создана таблица на MYSQL - PullRequest
0 голосов
/ 05 февраля 2020

Может ли кто-нибудь мне помочь.

Сначала я создал базу данных sqlite для своего приложения, но теперь нужно перенести ее в MYSQL.

В SQLITE все работает нормально, но когда я перешел на MYSQL, он не создает таблицы.

Заранее спасибо за помощь.


models.py

from django.db import models

class sslDomain(models.Model):
    domain = models.CharField(max_length=20, default='')
    expiration = models.TextField(max_length=50, default='')
    date_now = models.TextField(max_length=50, default='')
    status = models.IntegerField(max_length=50, default=0)
    daysleft = models.TextField(max_length=50, default='')

    def __str__(self):
        return self.domain

class logsTable(models.Model):
    logs_field = models.TextField(max_length=100, default='')

    def ___str__(self):
        return self.id

auth_db.py (мой DBrouter)

from .apps import *

class AuthSslDB:
    """
    A router to control all database operations on models in the
    auth application.
    """
    def db_for_read(self, model, **hints):
        """
        Attempts to read auth models go to auth_db.
        """
        if model._meta.app_label == SsldomainsConfig.name:
            return 'argus_v2_db'
        return None

    def db_for_write(self, model, **hints):
        """
        Attempts to write auth models go to auth_db.
        """
        if model._meta.app_label == SsldomainsConfig.name:
            return 'argus_v2_db'
        return None

    def allow_relation(self, obj1, obj2, **hints):
        """
        Allow relations if a model in the auth app is involved.
        """
        if obj1._meta.app_label == SsldomainsConfig.name or \
           obj2._meta.app_label == SsldomainsConfig.name:
           return True
        return None

    def allow_migrate(self, db, app_label, model_name=None, **hints):
        """
        Make sure the auth app only appears in the 'auth_db'
        database.
        """
        if app_label == SsldomainsConfig:
            return db == 'argus_v2_db'
        return None

settings.py

'argus_v2_db': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'argus_v2',
    'USER': 'yrollrei',
    'PASSWORD': '****',
    'HOST': '*.*.*.*',
    'PORT': '*',
}

DATABASE_ROUTERS = ['SSLDOMAINS.auth_db.AuthSslDB']

1 Ответ

0 голосов
/ 05 февраля 2020

Я только что заметил, что если я создаю новую таблицу, которая не пришла из sqlite, она работает

моя проблема решена путем клонирования моего класса в models.py, и я просто переименовал его.

надеюсь, что это будет работать для других, у которых возникла такая же проблема.

...