Zend Framework: Начало работы с SQLite - PullRequest
6 голосов
/ 02 апреля 2009

Извините, если это слишком упрощенно.

Я решил, что хочу использовать базу данных SQLite вместо базы данных MySQL. Я пытаюсь обдумать, насколько простой SQLite, и хотел бы получить простое руководство с одним ответом о том, как использовать SQLite с Zend Framework, где разместить базу данных SQLite в структуре каталогов, как создать базу данных и т. Д. .

Ответы [ 3 ]

8 голосов
/ 11 августа 2009

@ tuinstoel верен, при подключении к базе данных SQLite неявно создает ее, если она не существует.

SQLite также поддерживает клиент командной строки, более или менее похожий на командную оболочку MySQL, что позволяет вам выполнять специальные команды или запускать сценарии SQL. Смотри документацию здесь: http://www.sqlite.org/sqlite.html

Конечно, вам нужно изменить адаптер Zend_Db в вашем приложении ZF. ZF поддерживает только адаптер для расширения SQLite PDO. SQLite не поддерживает учетные данные пользователя / пароля. Также, поскольку SQLite является встроенной базой данных вместо клиента / сервера, параметр «host» не имеет смысла.

$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db"));

Еще одно предостережение: когда вы получаете результаты запроса в формате ассоциативного массива, некоторые версии SQLite настаивают на использовании «tablename.columnname» в качестве ключей в массиве, тогда как другие марки баз данных возвращают ключи как просто «columnname». В ZF есть выдающаяся ошибка, которая пытается компенсировать и заставить SQLite вести себя согласованно с другими адаптерами, но ошибка не устранена.

7 голосов
/ 02 апреля 2009

Если вы подключаетесь к несуществующей базе данных, база данных создается на лету. (Вы можете отключить это поведение)

0 голосов
/ 07 февраля 2017

Это теперь описано в кратком руководстве по Zend Framework (версия 1.9.5 на момент написания статьи). Просто создайте новый проект (с помощью инструмента командной строки zf. Найдите здесь отличный учебник по настройке), добавьте эти строки в файл config.ini, и все готово:

; application/configs/application.ini
[production]
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db"

Теперь, когда вы попросите адаптер базы данных по умолчанию, он будет использовать этот. Я также рекомендовал бы загрузить исходный код руководства по быстрому запуску и использовать скрипт load.sqlite.php. Вы можете создать схему и файл данных и загрузить базу данных с этими таблицами / столбцами / значениями. Это очень полезно! Просто посмотрите учебник . Это все там.


Этот ответ был перенесен из вопроса в ответ CW, чтобы дезавуировать право собственности на контент .

...