#php #codeigniter #frameworks
#php #codeigniter #фреймворки
Вопрос:
Как я могу автоматически создавать таблицы в базе данных, если они еще не существуют? Мне нужно что-то вроде установочной библиотеки для создания таблиц базы данных при первом запуске приложения.
Ответ №1:
В их библиотеке базы данных есть ‘forge’.
$this->load->dbforge()
чтобы загрузить библиотеку, у вас есть методы для создания базы данных, таблиц, добавления столбцов, создания и заполнения полей, добавления записей и так далее. Ознакомьтесь с Руководством пользователя Database Forge для получения полного списка методов.
Комментарии:
1. как я могу запустить процедуру создания таблиц? Я не думаю, что это хорошая идея писать проверку базы данных в каждом контроллере. может быть, в CI есть что-то вроде bootstrap?
2. @Molfar Возможно, вы захотите использовать для этого перехваты (но, конечно, после инициализации базы данных). В любом случае, обычно создание схемы БД происходит при первой установке приложения, поэтому у вас может возникнуть install.php файлы, которые проверяют и строят таблицы, затем запрашивают пользователя удалить их и начать загрузку в обычном режиме, как это делают многие системы
Ответ №2:
Codeigniter теперь выполняет миграцию базы данных, при этом библиотека dbforge используется более контролируемым образом для исправления базы данных
Ознакомьтесь с документами здесь. Также этот удобный учебник
Комментарии:
1. Больше нет необходимости загружать dbforge в функцию up миграции (как это делается в руководстве). Мы можем вызвать
$this->dbforge->create_table
напрямую, как только миграции будут включены в config/migration.php .