你好,
我们已经在四月份在测试服务器上成功合并了两个论坛。我们决定正式合并这两个论坛。
按照当时的操作流程,我在启动合并脚本时遇到了 Postgres 连接错误。
我已经为此忙了四天了,但由于我不是开发人员,所以在查找问题方面有些困难。
提前感谢
这是错误信息:
discourse@serveur-app:/var/www/discourse$ IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb
Loading application...
Traceback (most recent call last):
5: from script/bulk_import/discourse_merger.rb:817:in `<main>'
4: from script/bulk_import/discourse_merger.rb:817:in `new'
3: from script/bulk_import/discourse_merger.rb:22:in `initialize'
2: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg.rb:69:in `connect'
1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:661:in `new'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:708:in `connect_to_hosts': could not match 0 port numbers to 1 hosts (PG::ConnectionBad)
我借此机会附上完整的合并流程。
此流程基于原始帖子和我在测试中遇到的问题
此流程在四月份有效(参见此主题)。
- 从两个论坛的最新备份开始,
- 安装一个 Discourse,
- 导入两个备份,
- 恢复要保留的论坛。
在 SSH 中:
- 进入
/var/discourse文件夹 - 输入应用
./launcher enter app。
创建数据库。
su postgres
psql
CREATE DATABASE copyme ENCODING='utf8';
更改 postgres 用户的密码
\postgres password
退出 postgres
\q
退出 postgres 用户
exit
切换到 discourse 用户
su discourse
旧论坛备份解压
进入该文件夹 cd public/backups/default
通过命令 tar xvzf old.forum.tar.gz 解压旧备份
从 BDD.lu 复制到 BDD copyme。
gunzip < dump.sql.gz | psql -d copyme
退出 discourse 用户
exit
依赖项
nano, sqlite3 和 mysql2 依赖项
(以 root 用户在 /var/www/discourse 下)
apt update && apt upgrade -y
apt-get install -y nano sqlite3 libsqlite3-dev mariadb-server libmariadb-dev -y
gem install sqlite3 mysql2
ruby bbcode to md
git clone https://github.com/nlalonde/ruby-bbcode-to-md.git
cd ruby-bbcode-to-md/
gem build ruby-bbcode-to-md.gemspec
gem install ruby-bbcode-to-md-*.gem
cd ./..
安装 Tiny_tds
您需要先安装 FreeTDS,然后安装 Tiny_tds。
对于 FreeTDS:
wget http://www.freetds.org/files/stable/freetds-1.3.12.tar.gz
tar -xzf freetds-1.3.12.tar.gz
cd freetds-1.3.12
./configure --prefix=/usr/local --with-tdsver=7.3
make
make install
对于 Tiny_tds:
gem install tiny_tds
gem install ruby-bbcode-to-md
cd ./..
脚本
su discourse
bundle config unset deployment
IMPORT=1 bundle install
IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb
由 www.DeepL.com/Translator(免费版)翻译