PKGNG восстановление базы
Добавлено: 2015-01-13 15:38:19
Повреждена БД pkgng
Проявилось после обноления pkg до 1.4.4
Взял резервную копию из /var/backups/pkg.sql.xz
После восстановления
У кого есть опыт восстановления БД?
Проявилось после обноления pkg до 1.4.4
Код: Выделить всё
# pkg version
pkg: sqlite error while executing DROP INDEX deps_unique;CREATE UNIQUE INDEX dep
s_unique ON deps(name, version, package_id); in file pkgdb.c:2262: UNIQUE constr
aint failed: deps.name, deps.version, deps.package_id
После восстановления
Код: Выделить всё
[root@ns /var/db/pkg]# pkg version
pkg: sqlite error while executing CREATE TABLE licenses (id INTEGER PRIMARY KEY,
license TEXT NOT NULL UNIQUE );CREATE TABLE pkg_licenses_assoc (package_id INTE
GER REFERENCES packages(id) ON DELETE CASCADE ON UPDATE CASCADE, license_id INTE
GER REFERENCES licenses(id) ON DELETE RESTRICT ON UPDATE RESTRICT, PRIMARY KEY (
package_id, license_id));CREATE VIEW pkg_licenses AS SELECT origin, license FROM
packages INNER JOIN pkg_licenses_assoc ON packages.id = pkg_licenses_assoc.pack
age_id INNER JOIN licenses ON pkg_licenses_assoc.license_id = licenses.id;CREATE
TRIGGER license_insert INSTEAD OF INSERT ON pkg_licenses FOR EACH ROW BEGIN INS
ERT OR IGNORE INTO licenses(license) values (NEW.license);INSERT INTO pkg_licens
es_assoc(package_id, license_id) VALUES ((SELECT id FROM packages where origin =
NEW.origin), (SELECT id FROM categories WHERE name = NEW.name));END; in file pk
gdb.c:2262: table licenses already exists