Как правильно работать с базой данных?
-
Есть парсеры сайтов.
Для удобства каждый сайт парсится 3мя скриптами + Скрипт Экспорта из базы.
(Например) Парсим мужчин, Парсим Женщин, Парсим Детей, Экспорт в xml.Все эти скрипты пишут и читают из базы данных. В ручном режиме БАС просит каждый раз перезагрузить базу. (Настройки базы одинаковые). Все было более менее пока сайт и база была одна. Но появился второй сайт и база. Дальше их будет еще больше. Так вот при переключении скриптов базы путаются, то в свою запишет, то в чужую. Все еще хуже когда работаешь через планировщик.
Вопрос: как правильно подключаться к базе чтобы каждый скрипт работал со своей базой?
PS: ID у первой и второй базы разный
Надеюсь смог объяснить.
-
@Sedoy Так не бывает. Если ID у них разные то записать в чужую он просто не сможет. Вы используете монго как сервис и подключаетесь к 127.0.0.1 ?
-
@f0cus said in Как правильно работать с базой данных?:
@Sedoy Так не бывает. Если ID у них разные то записать в чужую он просто не сможет. Вы используете монго как сервис и подключаетесь к 127.0.0.1 ?
Да подключаюсь локально.
И мне кажется что не должно быть так.
Структура базы для скриптов (копипаст) в текстовом режиме. (Одинаковы).
База 1
<Table id="1" name="FinnFlare" description_en="FinnFlare" description_ru="FinnFlare">
База 2
<Table id="2" name="KupiVip" description_en="KupiVip" description_ru="KupiVip">Но повторюсь каждый раз, путаница с записью.
-
@Sedoy Бас базы и коллекции называет по индексам и номерами. Разные скрипты не знают что поле с этим номером закреплено за другой коллекцией. Отсюда такая билеберда. Или используйте nodejs или создайте скрипт который будет только с базами и чистый от иного как стартовыйб но тут могут быть проблемы если будете докидывать. Или правьте сами скрипты это можно. Ну назвать другой цифрой.
А то что он вам пишет это вам. В монго они не так называются можете проверить compass вам в помощь.
-
@f0cus said in Как правильно работать с базой данных?:
@Sedoy Бас базы и коллекции называет по индексам и номерами. Разные скрипты не знают что поле с этим номером закреплено за другой коллекцией. Отсюда такая билеберда. Или используйте nodejs или создайте скрипт который будет только с базами и чистый от иного как стартовыйб но тут могут быть проблемы если будете докидывать. Или правьте сами скрипты это можно. Ну назвать другой цифрой.
А то что он вам пишет это вам. В монго они не так называются можете проверить compass вам в помощь.С трудом, но вроде понял что хотел сказать 8-)
Если напрямую меняю в скрипте id:
например
_db_delete_records( [ ], 2, "", "true" == "true")
на
_db_delete_records( [ ], 1, "", "true" == "true")Скрипт все равно не переключает базу, только ручная перезагрузка базы помогает.
Это полностью исключает автономность скрипта (при работе с разными базами), в каждом скрипте нужно вручную переподключать базы
-
@Sedoy Менять в скрипте не экшенами, а ПРАВИТЬ сам скрипт. Вот средство.
Но это я так понимаю для вас будет не просто. Вы бы убрали 127.0.0.1 И путь он к локально к своим базам подключается.
-
@f0cus said in Как правильно работать с базой данных?:
@Sedoy Менять в скрипте не экшенами, а ПРАВИТЬ сам скрипт. Вот средство.
Но это я так понимаю для вас будет не просто. Вы бы убрали 127.0.0.1 И путь он к локально к своим базам подключается.
8-) Мне вот это было сложно читать "А то что он вам пишет это вам."
Со всем остальным я разберусь.
Пути прописаны локально, не через localhost, а прямой путь до базы.Не вижу разницы правки скрипта во вкладке "скрипт" и правки через конвертор и обратно в xml.
Пока не хочется использовать сторонние базы данных, хочется просто и спокойно переносить BAS и скрипт на дедик и все.
-
@Sedoy Посмотрите что написано в ваших скриптах и под какими индексами. Не ваша схема и обвязка вашей базы. Локально я имел в виду базу самого баса, а не службу. Если разберетесь я все что нужно указал.