Как я могу обновить или установить bolt.db на моем локальном компьютере?
Я использую Bolt CMS, и я скачал свой сайт из репозитория git и установил его на локальный компьютер без каких-либо БД. Когда я запускаю его, Bolt создает новый bolt.db. Но у меня есть свой собственный файл - bolt.db, если я заменил новый файл или просто поместил этот bolt.db в папку app/database, возникает ошибка:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]:
General error: 11 database disk image is malformed' in W:\home\localhost\www\opart2\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:92
Stack trace: #0 W:\home\localhost\www\site\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php(92): PDO->query('PRAGMA synchron...') #1 W:\home\localhost\www\site\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(931):
Doctrine\DBAL\Driver\PDOConnection->query('PRAGMA synchron...') #2 W:\home\localhost\www\site\app\src\Bolt\Application.php(116):
Doctrine\DBAL\Connection->query('PRAGMA synchron...') #3 W:\home\localhost\www\site\app\src\Bolt\Application.php(69):
Bolt\Application->initDatabase() #4 W:\home\localhost\www\site\app\bootstrap.php(50): Bolt\Application->initialize() #5 W:\home\localhost\www\site\index.php(24):
require_once('W:\home\localho...') #6 {main} Next exception 'Doctrine\DBAL\Driver\PDOException' with message 'SQLSTATE[HY000]: General error: 11 databa in W:\home\localhost\www\site\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\AbstractSQLiteDriver.php on line 84
Как я могу получить свою базу данных? Может ли PhpmyAdmin помочь в этом случае?
1 ответ
Что вы делаете правильно, вы можете просто заменить bolt.db своей собственной базой данных, Bolt создаст новую, только если не найдет ее.
Я думаю, что здесь у вас возникла отдельная проблема: ваш файл sqlite db поврежден, возможно, из-за того, что вы сделали резервную копию во время его использования. В этом вопросе есть дополнительная информация о том, как исправить: база данных SQLite3 или диск заполнены / образ диска базы данных поврежден
Начиная с версии 1.6.x Bolt, вы также можете указать альтернативное местоположение для вашей базы данных Sqlite. В вашем файле config.yml вы можете установить как путь, так и имя базы данных. например:
database:
driver: sqlite
databasename: mydb
path: /path/to/folder