Для развертывания приложения требуется создать базу данных для базовой аутентификации пользователя.Чтобы автоматизировать процесс, я написал командный файл MySQL:
grant all on jetty.* to 'jetty'@'localhost' identified by 'jetty';
create database if not exists jetty;
use jetty;
create table if not exists users
(
id int unsigned not null auto_increment,
username varchar(100) not null,
password binary(60) not null,
primary key(id),
unique(username)
);
create table if not exists roles
(
id int unsigned not null auto_increment,
role varchar(100) not null,
primary key(id),
unique(role)
);
create table if not exists user_roles
(
user_id int unsigned not null,
role_id int unsigned not null,
unique(user_id, role_id),
index(user_id)
);
insert into users(username, password) values('jetty', $2a$10$YX3cYqn9nHmCOmPZBHXrQ.2nxrktB3CRYG8tXmBmmWvrDKU8uwRSe');
Я делаю это впервые, поэтому я совершенно уверен, что есть некоторые вещи, которые я могу не понять.Это действительно хорошая идея, чтобы заполнить таблицу users
с одним пользователем?Чтобы войти в мое приложение, должна быть какая-то учетная запись, но я не совсем уверен.
Еще одна вещь, которая меня беспокоит, это оператор grant
.Интересно, может ли grant all
не быть достаточно ограничительным.
Кроме того, должен ли я проверять наличие if not exists
на каждом столе, который я собираюсь создать?
Существуют ли лучшие рекомендации, касающиеся пакетной обработкискрипты?