Замена в CMS - MySql на SQlite

Тема в разделе "Базы данных", создана пользователем slawin, 30 июн 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. slawin

    slawin Постоялец

    Регистр.:
    2 авг 2007
    Сообщения:
    103
    Симпатии:
    51
    Есть маленькая CMS, работает на PHP и MySQL.
    Требования к ней небольшие, поэтому.
    Сейчас встал вопрос, возможно ли в ней поменять язык баз данных.
    Чтобы она работала на SQlite, (и не использовала MySQL)? На сколько это сложно, и возможно ли?
    Посоветуйте плиз, как это осуществить, или нужно писать новую CMS?
     
  2. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    Насколько я понимаю, если в этой CMS запросы к БД сделаны через промежуточный класс-абстракцию базы данных, то необходимо будет изменить только этот класс, чтобы поменять тип БД.

    Если же вся работа с базой и все запросы жестко прописаны в коде, без класса-абстракции, то дело труба.
     
  3. StDutch

    StDutch

    Регистр.:
    18 дек 2007
    Сообщения:
    337
    Симпатии:
    116
    Это реализуемо. Вопрос в необходимости и целях подобной операции, чем в вашей ситуации SQLite лучше MySQL? Если сайт живет на обычном хостинге, то как бы хуже не стало.

    Процедура изменения пола базы данных:

    1. перенести структуру базы данных, наверняка кое-что придется изменить;
    2. если работа с MySQL ведется через wrapper (объект или набор функций), то это хорошо; иначе переписать php код;
    3. написать идетичный по интерфейсу объект или набор функций для работы с SQLite;
    4. собрать все SQL запросы в CMS, если нужно, поправить для SQLite;
    5. написать юнит тесты для всех операций с базой;
    6. собрать новую сборку CMS;
    7. гонять юнит тесты до полного успеха.

    Удачи!

    P.S. Я такое пару лет назад делал для wordpress + berkeleydb, очень муторное занятие.
     
  4. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    Посмотрел я эту CMS, вообщем, она действительно очень простая.

    1. (минус) никаких классов абстракции там нет и в помине, так что исправлять все вручную, по алгоритму StDutch.
    2. (плюс) там всего 3500 строк пхп, так что спльно много исправлять не придется. ;-)

    В принципе, можете просто начать заменять все функции mysql_* на соответствующие от SQLite, ну и запросы тоже нужно переписывать скорее всего.
     
  5. StDutch

    StDutch

    Регистр.:
    18 дек 2007
    Сообщения:
    337
    Симпатии:
    116
    Посмотрел эту CMSку, писал не программер, а кодер. По-хорошему ее с нуля нужно переписать, включив мозги.

    Остальное в личке для топикстартера.

    P.S. Wrox Press недавно выпустил брошюру на похожую тему CMS-строительства: Перейти по ссылке -- взять эту книжку, картинки и шаблоны из CMSки + немного труда = хорошая платформа для собственных нужд.
     
Статус темы:
Закрыта.