Codeigniter Ion Auth редактирование таблицы пользователей

Я новичок в Codeigniter и только изучаю систему аутентификации ion auth. У меня есть несколько вопросов по этому поводу:

1) Можно ли изменить таблицу пользователей по умолчанию? (а вы бы посоветовали за или против?) Я понимаю, что могут быть функции в модели, представлении, библиотеке или контроллере, которые ожидают, что таблицы будут иметь точную структуру по умолчанию, но, например, мне не нужен столбец компании, так как я могу удалить его?

2) Как добавить дополнительную информацию о пользователе в таблицу пользователей по умолчанию? (Повлияет ли это на какие-либо функции, если я просто выполню несколько SQL, чтобы добавить столбцы в таблицу пользователей по умолчанию?)

3) Это своего рода продолжение последнего вопроса. Кто-нибудь порекомендовал бы просто создать отдельную таблицу для моей дополнительной информации о пользователе и использовать их идентификатор пользователя в качестве первичного ключа в этой новой таблице, а затем просто получить доступ к информации tjat через мои собственные модели?

Спасибо за вашу помощь!

4

Решение

  1. Да, можно редактировать таблицу пользователей, однако вам придется пройти через библиотеку ion_auth_model /, чтобы проверить вызовы / записи в поле, которое вы удаляете. В противном случае вы получите 500 ошибок при попытке вставить данные в несуществующее поле.

  2. Да, вы можете добавить дополнительные поля в PHPMyAdmin где у вас есть доступ к самой базе данных. Для дополнительных полей необходимо либо установить значение NULL (чтобы избежать ошибок при записи, если данные отсутствуют), ИЛИ вам нужно будет при необходимости включить эти поля и добавить их в существующие функции ion_auth.

  3. Основная идея, которой я обычно придерживаюсь, заключается в том, чтобы в базе данных было как можно меньше пустых полей. Поэтому, если у каждого пользователя будет дополнительная информация, а вы не будете расширять свою таблицу до нелепой длины, тогда я добавлю ее в таблицу пользователей. В противном случае, если вы добавляете необязательный дополнительные поля, вероятно, лучше сделать ассоциативную таблицу.


Не забывайте, что вы разработчик, библиотеки используются для удобства и безопасности, но не думайте, что вы не сможете адаптировать их под свои нужды. Вот так мы получаем приложения для печенья.

3

Другие решения

Добавить / удалить поля в таблице пользователей по умолчанию в базе данных можно, если вы удалите связанный код в Ion Library, который зависит от него. Я рекомендую вам раскошелиться на библиотеку Ion Authentication и изменить ее в соответствии с вашими требованиями.

Если вы хотите оставить библиотеку Ion без изменений, правильный подход — создать другую таблицу для хранения дополнительной информации.

Для изменения таблиц / полей базы данных рекомендуется использовать миграцию CodeIgniter, чтобы вы могли отслеживать изменения базы данных внутри репозитория исходного кода, такого как Git.

0

По вопросам рекламы [email protected]