Size: a a a

Django [ru] #STAY HOME

2021 February 28

AL

Artyom Lazovikov in Django [ru] #STAY HOME
KeepСalm
есть таблица ,которую нужно перенести в ней есть отношение fk,которая ссылается саму на себя,в ней хранятся id родителей из этой же таблицы,когда я буду переносить базу,то всем объектам присвоятся новые id,но поле с fk будет хранить старые id,вот я не понимаю,как эти id у fk при переносе тоже поменять в соответствии с новыми id
Ну то есть ты явно при переносе можешь присвоить айдишник же
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
вот пусть и остаются старыми
источник

K

KeepСalm in Django [ru] #STAY HOME
при переносе,я не могу узнать,какие новые id встали на место старых в бд 30млн объектов и пока я загружаю туда так же добавляются объекты,поэтому я сам не могу присвоить id
источник

DT

Dan Tyan in Django [ru] #STAY HOME
KeepСalm
@dantyan привет,к сожалению по истечению суток мой вопрос остался актуальным( есть возможность хоть направить,что почитать,либо где найти инфу
пока ничего толкового в голову не идет
кроме как сначала подготовить данные потом заливать
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
напиши скрипт, который сформирует огромный инсерт запрос со старыми данными
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
а потом вызови его разок
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
просто в values закидывай каждое поле в уже существующей модели
источник

K

KeepСalm in Django [ru] #STAY HOME
Dan Tyan
пока ничего толкового в голову не идет
кроме как сначала подготовить данные потом заливать
я так переносил другие таблицы,которые по fk связаны с другими таблицами,а тут проблема в том,что связь таблицы сама с собой и получится,что мне нужно загрузить 30 млн объектов,далее их вытащить сравнить объекты уже из новой таблицы и старой,чтобы сопоставить id,поменять уже ключ и опять это все грузить,по скорости это просто пздц
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
вместе с айди
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
если ты айдишник указываешь явно - то постгрес не будет заполнять его своим значением
источник

K

KeepСalm in Django [ru] #STAY HOME
тогда такой вопрос,если я запущу скрипт по json и буду бегать по всем объектам создавать через objects.create() тут же сохранять и запоминать id,это вообще будет законно)
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
просто оставь все данные старыми
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
вместе с айди
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
KeepСalm
тогда такой вопрос,если я запущу скрипт по json и буду бегать по всем объектам создавать через objects.create() тут же сохранять и запоминать id,это вообще будет законно)
30 млн запросов это много)
источник

K

KeepСalm in Django [ru] #STAY HOME
в этом и проблема( не записывались бы данные в этот момент,то написал бы скрипт,а тут еще при loaddata будут идти записи,которые просто перебьют мои id
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
Чувак, я не понимаю зачем тебе вообще записывать данные
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
тебе нужно просто полностью скопировать таблицу, вместе с айдишниками каждого поля
источник

K

KeepСalm in Django [ru] #STAY HOME
нужно старые записи перенести в новый проект ,который уже имеет записи(
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
а, записи уже есть
источник

AL

Artyom Lazovikov in Django [ru] #STAY HOME
1 мин
источник