Loading README.md +15 −3 Original line number Diff line number Diff line Loading @@ -38,8 +38,20 @@ Alias /opds "/home/www/opds" Перед началом работы необходимо внести необходимые настройки в файл конфигурации ./conf/sopds.conf 4. Инициализация базы данных. Для работы каталога необходимо создать(пересоздать) базу данных sopds при помощи скрипта: ./db/db_create.sh Во первых для работы каталога необходимо создать базу данных "sopds" и пользователя с необходимыми правами, например следующим образом: mysql -uroot -proot_pass mysql mysql > create database if not exists sopds default charset=utf8; mysql > grant select,insert,update,delete,execute on sopds.* to 'sopds'@'localhost' identified by 'sopds'; mysql > commit; mysql > ^C Далее в созданную базу данных необходимо загрузить структуру БД и заполненную таблицу жанров, например следующим образом: mysql -uroot -proot_pass sopds < ./db/tables.sql mysql -uroot -proot_pass sopds < ./db/genres.sql Все указанные выше процедуры могут быть выполнены при помощи скрипта ./db/db_create.sh суперпользователем root (для Fedora) 5. Сканирование каталога с книгами. Для сканирования каталога с электронными книгами запустить скрипт sopds-scan.py Loading @@ -56,7 +68,7 @@ Alias /opds "/home/www/opds" 8. Обновление версий - Поскольку при переходе от версии к версии возможно изменение структуры БД необходимо пересоздать ее следующей командой ./db/db_create.sh ./db/db_create.sh либо выполнить рекомендации в п.4 - После пересоздания БД и, как следствие уничтожении сыллок из БД на извлеченные обложки стоит удалить со всем содержимым папку covers rm -rf covers Loading db/db.sql 0 → 100644 +3 −0 Original line number Diff line number Diff line create database if not exists sopds default charset=utf8; grant select,insert,update,delete,execute on sopds.* to 'sopds'@'localhost' identified by 'sopds'; commit; db/db_create.sh +4 −6 Original line number Diff line number Diff line #!/bin/bash script_dbcrea='dbcrea.sql' script_genre='genre.sql' run_path=`dirname $0` script_dbcrea=$run_path'/dbcrea.sql' script_db=$run_path'/db.sql' script_tables=$run_path'/tables.sql' script_genres=$run_path'/genres.sql' script_sp=$run_path'/sp_update_dbl.sql' mysql mysql < $script_dbcrea mysql mysql < $script_db mysql sopds < $script_tables mysql sopds < $script_genres mysql sopds < $script_sp db/genres.mksql +0 −23 Original line number Diff line number Diff line #!/bin/bash echo "use sopds;" echo "SET NAMES 'utf8';" echo "SET CHARACTER SET utf8;" echo "drop table if exists genres;" echo "drop table if exists bgenres;" echo "commit;" echo echo "create table genres(" echo "genre_id INT not null AUTO_INCREMENT," echo "genre VARCHAR(32)," echo "section VARCHAR(32)," echo "subsection VARCHAR(32)," echo "PRIMARY KEY(genre_id)," echo "KEY(genre));" echo "commit;" echo echo "create table bgenres(" echo "genre_id INT not NULL," echo "book_id INT not NULL," echo "PRIMARY KEY(book_id,genre_id)," echo "INDEX(genre_id));" echo "commit;" echo cat genres.txt | grep -v '#' | awk -F'@' '{gsub(/^ +| +$/,"",$1)} {gsub(/^ +| +$/,"",$2)} {gsub(/^ +| +$/,"",$3)} {print "insert into genres(genre,subsection,section) values(\""$1"\",\""$2"\",\""$3"\");"}' echo "commit;" db/genres.sql +0 −23 Original line number Diff line number Diff line use sopds; SET NAMES 'utf8'; SET CHARACTER SET utf8; drop table if exists genres; drop table if exists bgenres; commit; create table genres( genre_id INT not null AUTO_INCREMENT, genre VARCHAR(32), section VARCHAR(32), subsection VARCHAR(32), PRIMARY KEY(genre_id), KEY(genre)); commit; create table bgenres( genre_id INT not NULL, book_id INT not NULL, PRIMARY KEY(book_id,genre_id), INDEX(genre_id)); commit; insert into genres(genre,subsection,section) values("economics_ref","Деловая литература","Деловая литература"); insert into genres(genre,subsection,section) values("popular_business","Карьера, кадры","Деловая литература"); insert into genres(genre,subsection,section) values("org_behavior","Маркетинг, PR","Деловая литература"); Loading Loading
README.md +15 −3 Original line number Diff line number Diff line Loading @@ -38,8 +38,20 @@ Alias /opds "/home/www/opds" Перед началом работы необходимо внести необходимые настройки в файл конфигурации ./conf/sopds.conf 4. Инициализация базы данных. Для работы каталога необходимо создать(пересоздать) базу данных sopds при помощи скрипта: ./db/db_create.sh Во первых для работы каталога необходимо создать базу данных "sopds" и пользователя с необходимыми правами, например следующим образом: mysql -uroot -proot_pass mysql mysql > create database if not exists sopds default charset=utf8; mysql > grant select,insert,update,delete,execute on sopds.* to 'sopds'@'localhost' identified by 'sopds'; mysql > commit; mysql > ^C Далее в созданную базу данных необходимо загрузить структуру БД и заполненную таблицу жанров, например следующим образом: mysql -uroot -proot_pass sopds < ./db/tables.sql mysql -uroot -proot_pass sopds < ./db/genres.sql Все указанные выше процедуры могут быть выполнены при помощи скрипта ./db/db_create.sh суперпользователем root (для Fedora) 5. Сканирование каталога с книгами. Для сканирования каталога с электронными книгами запустить скрипт sopds-scan.py Loading @@ -56,7 +68,7 @@ Alias /opds "/home/www/opds" 8. Обновление версий - Поскольку при переходе от версии к версии возможно изменение структуры БД необходимо пересоздать ее следующей командой ./db/db_create.sh ./db/db_create.sh либо выполнить рекомендации в п.4 - После пересоздания БД и, как следствие уничтожении сыллок из БД на извлеченные обложки стоит удалить со всем содержимым папку covers rm -rf covers Loading
db/db.sql 0 → 100644 +3 −0 Original line number Diff line number Diff line create database if not exists sopds default charset=utf8; grant select,insert,update,delete,execute on sopds.* to 'sopds'@'localhost' identified by 'sopds'; commit;
db/db_create.sh +4 −6 Original line number Diff line number Diff line #!/bin/bash script_dbcrea='dbcrea.sql' script_genre='genre.sql' run_path=`dirname $0` script_dbcrea=$run_path'/dbcrea.sql' script_db=$run_path'/db.sql' script_tables=$run_path'/tables.sql' script_genres=$run_path'/genres.sql' script_sp=$run_path'/sp_update_dbl.sql' mysql mysql < $script_dbcrea mysql mysql < $script_db mysql sopds < $script_tables mysql sopds < $script_genres mysql sopds < $script_sp
db/genres.mksql +0 −23 Original line number Diff line number Diff line #!/bin/bash echo "use sopds;" echo "SET NAMES 'utf8';" echo "SET CHARACTER SET utf8;" echo "drop table if exists genres;" echo "drop table if exists bgenres;" echo "commit;" echo echo "create table genres(" echo "genre_id INT not null AUTO_INCREMENT," echo "genre VARCHAR(32)," echo "section VARCHAR(32)," echo "subsection VARCHAR(32)," echo "PRIMARY KEY(genre_id)," echo "KEY(genre));" echo "commit;" echo echo "create table bgenres(" echo "genre_id INT not NULL," echo "book_id INT not NULL," echo "PRIMARY KEY(book_id,genre_id)," echo "INDEX(genre_id));" echo "commit;" echo cat genres.txt | grep -v '#' | awk -F'@' '{gsub(/^ +| +$/,"",$1)} {gsub(/^ +| +$/,"",$2)} {gsub(/^ +| +$/,"",$3)} {print "insert into genres(genre,subsection,section) values(\""$1"\",\""$2"\",\""$3"\");"}' echo "commit;"
db/genres.sql +0 −23 Original line number Diff line number Diff line use sopds; SET NAMES 'utf8'; SET CHARACTER SET utf8; drop table if exists genres; drop table if exists bgenres; commit; create table genres( genre_id INT not null AUTO_INCREMENT, genre VARCHAR(32), section VARCHAR(32), subsection VARCHAR(32), PRIMARY KEY(genre_id), KEY(genre)); commit; create table bgenres( genre_id INT not NULL, book_id INT not NULL, PRIMARY KEY(book_id,genre_id), INDEX(genre_id)); commit; insert into genres(genre,subsection,section) values("economics_ref","Деловая литература","Деловая литература"); insert into genres(genre,subsection,section) values("popular_business","Карьера, кадры","Деловая литература"); insert into genres(genre,subsection,section) values("org_behavior","Маркетинг, PR","Деловая литература"); Loading