CentOS 7サーバに新しいGhostブログを設定しようとしています。私はNginx、Node、Ghostをインストールし、必要な設定ファイルをすべて書きました。これはかなり作業に近いですが、私はSQLiteの代わりにMySQLを使いたいので、 "ghost_db"という新しい(空白の)MySQLデータベースを作成し、 "ゴースト"と呼ばれるMySQLユーザーを設定し、データベースのユーザーに権限を与え、 config.jsのにこれらの行を追加しました:私はそれを起動しようとすると新規インストール時にGhostデータベースを初期化する
database: {
client: 'mysql',
connection: {
host: 'localhost',
user: 'ghost',
password: 'mypassword',
database: 'ghost_db'
charset: 'utf8'
filename: path.join(__dirname, '/content/data/ghost-dev.db')
},
debug: false
}, ...
は、私は、データベースを初期化するためにknex-移行ツールを使用することをお勧めしエラーが発生します。
[[email protected] ghost]$ npm start
> [email protected] start /var/www/ghost
> node index
[2017-12-10 00:08:00] ERROR
NAME: DatabaseIsNotOkError
CODE: MIGRATION_TABLE_IS_MISSING
MESSAGE: Please run knex-migrator init ...
しかし、Stackexchange上のいくつかのコメントはknex-移行を使用すると、ゴーストのこのバージョンのために不必要であることを示唆している、と私はknex-移行ツールを実行すると、それはまた、失敗:
は[[email protected] ghost]$ knex-migrator init
[2017-12-09 16:21:33] ERROR
NAME: RollbackError
CODE: SQLITE_ERROR
MESSAGE: delete from "migrations" where "name" = '2-create-fixtures.js' and "version" = 'init' and "currentVersion" = '1.18' - SQLITE_ERROR: no such table: migrations
...[omitted]
Error: SQLITE_ERROR: no such table: migrations
私は思います問題は、最初に作成した "ghost_db"データベースが空白である可能性があります。 config.jsで指定されている "ghost-dev.db"ファイルはSQLiteのようですが、config.jsをSQLiteデータベースに戻すと同じエラーメッセージが表示されます。私は "移行"テーブルが何であるか分からない。私はGhostが[https://github.com/TryGhost/Ghost/blob/1.16.2/core/server/data/schema/schema.js]]で期待していると思うスキーマを見つけましたが、手作業で行うのを除いてテーブルの初期化などを行う方法はわかりません。私は困惑している!