Найти - Пользователи
Полная версия: помогите сформулировать задачу для выкладывания на фриланс
Начало » Django » помогите сформулировать задачу для выкладывания на фриланс
1 2
gtlhbkkj
Помогите добрым советом. Хочу выложить задание в фриланс. Не могу быстро сам разобраться. А времени нет.

Предполагаемая формулировка задания такова.
Есть две небольшие задачи на джанго 3.0
Первая задача работает на SQLite
Вторая задача работает на MySQL
Обе задачи функционируют по отдельности на рабочих серверах

Задание
соединить обе задачи в одном джанго проекте.
Я соединил эти задачи.
При этом изменил
- конфигурацию DATABASE,
 DATABASES = {
    'default': {},
    'app1': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 
    },
    'app2': {
        'NAME': 'app2',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'spam',
    },

- в обеих задачах изменил
 Table.objects....()
на
 Table.objects.using('app1/app2')...()
соответственно.

Оба приложения работают, но есть проблемы, которые нужно исправить
- Нужно настроить админ панель на обе базы данных и на третью базу, которая придет в будущем
- Обе задачи используют Django-Modeltranslation. При обьединении перестал работать, его нужно настроить. Имею в виду это
 django-admin makemessages -l ru --extension html
django-admin compilemessages
- В обеих задачах есть кнопка смены языка. После обьединения перестала работать. Нужно настроить.
- Нужно настроить изменение структуры баз данных в трех базах типа
 python3 manage.py makemigrations 
python3 manage.py migrate
Мне, как заказчику нужно продемонстрировать все изменения, обьяснить и задокументировать.

Вопрос к форуму
- внятно ли сформулирована задача? Чего не хватает? Что переформулировать?
- собираюсь выложить файлы из обеих задач, а именно
admin.py
translation.py
urls.py

а также главные файлы
settings.py
urls.py

этого достаточно?

Каким образом передавать исполнителю файлы для изменения и что именно передавать?

спасибо
FishHook
gtlhbkkj
внятно ли сформулирована задача?
У меня немедленно возникает вопрос, почему в одном проекте, несколько БД.
VadimK
gtlhbkkj
- Нужно настроить админ панель на обе базы данных и на третью базу, которая придет в будущем
Так никто не делает. У вас ошибка где то в структуре. В этих базах одна и та же модель или разные модели ?

gtlhbkkj
- собираюсь выложить файлы из обеих задач, а именно
admin.py
translation.py
urls.py
а также главные файлы
settings.py
urls.py
этого достаточно?

Каким образом передавать исполнителю файлы для изменения и что именно передавать?
Передавать надо весь проект (или полностью модуль, со всеми моделями, вьюшками, темплейтами и подобным.). К примеру зарегистрироваться на github или bitbucket, создать приватный проект, выложить туда весь код. А позже дать доступ выбранному разработчику.
gtlhbkkj
FishHook
вы же мне сами отвечали
FishHook
gtlhbkkjВы на одном сервере с установленной СУБД MySQL можете держать хоть сколько MySQL баз.https://dev.mysql.com/doc/refman/8.0/en/database-use.html

я установил на сервере MySQL, создал одну базу данных MySQL и перенес в нее данные из SQLIte файла для первой задачи.
для второй задачи не создавал базу MySQL, а оставил SQLite файл, так как он относительно небольшой.
Если вы имеете в виду что оставшийся файл SQLite нужно также перенести в MySQL, то я понял и сделаю это. Для этого нужно создать еще одну базу данных MySQL. Правильно?
или же мне нужно в базу MySQL, созданную для первой задачи запихать таблицы для второй задачи?

Пожалуйста обьясните
Спасибо
gtlhbkkj
VadimK
gtlhbkkj
- Нужно настроить админ панель на обе базы данных и на третью базу, которая придет в будущем

Так никто не делает. У вас ошибка где то в структуре. В этих базах одна и та же модель или разные модели ?
Что вы имеете в виду, пожста поясните.
У меня две несвязанные задачи работающие на двух несвязанных базах данных с разной структурой.
gtlhbkkj
VadimK
зарегистрироваться на github или bitbucket,
спасибо, не знал
FishHook
gtlhbkkj
вы же мне сами отвечали
Я вам отвечал по сути вашего вопроса - как запихать N баз SQLite в MySQL.
Но я убей бог не понимаю, почему вы не можете слить три, пять или десять баз в одну, если у них разный состав таблиц.
VadimK
gtlhbkkj
У меня две несвязанные задачи работающие на двух несвязанных базах данных с разной структурой.
В одной базе может быть сколько угодно таблиц. В дажнга проекте может быть сколько угодно разных задач. Никто не делает по базе на каждую задачу, это не правильно. Все задачи одного проекта используют одну базу.
Т.е. один проект- одна база.
gtlhbkkj
FishHook
VadimK

спасибо дошло
извините за глупые вопросы

а как правильно обьединить две старые SQLite базы в одной новой MySQL базе?
например, обьединю два файла моделей в один, создам в новой базе структуру, содержащую таблицы из первой и из второй задач.
Затем дампом загоню данные из одной старой базы в новую базу.
А когда я буду делать дамп из второй старой базы в новую базу - при этом предыдущее действие не будет затерто? То есть не замочит ли второй дамп результаты прыдыдущего действия несмотря на то что таблицы в первом дампе и во втором абсолютно разные?

Спасибо
FishHook
gtlhbkkj
например, обьединю два файла моделей в один,
У вас всего один файл моделей? Мне кажется, вам надо начать восполнять пробелы в знаниях начиная со структуры Джанго-проекта.

https://docs.djangoproject.com/en/2.2/ref/applications/

https://docs.djangoproject.com/en/2.2/intro/tutorial01/

https://djangobook.com/mdj2-django-structure/

etc.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB