Как правильно работать с базой данных?



  • Есть парсеры сайтов.
    Для удобства каждый сайт парсится 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 Посмотрите что написано в ваших скриптах и под какими индексами. Не ваша схема и обвязка вашей базы. Локально я имел в виду базу самого баса, а не службу. Если разберетесь я все что нужно указал.


Log in to reply
 

  • 2
  • 12
  • 8
  • 21
  • 3
  • 3
  • 2
  • 2