Điểm:1

Làm cách nào tôi có thể sửa lỗi truy vấn này bằng drush sql-sync?

lá cờ lu

Tôi đã tạo drush/sites/self.site.yml của mình như bên dưới* và xác minh rằng drush rsync @prod:%files @self:%files đã làm việc. Tuy nhiên, drush sql-sync @prod @self dẫn đến lỗi sau:

  Lệnh "/usr/local/bin/drush sql-query --strict=0 --file=/tmp/termitral_db_20211011_110905.sql.gz --file-delete --uri=drupal --root=/var/www/ drupalvm/drupal/web" không thành công.

  Mã thoát: 1(Lỗi chung)

  Thư mục làm việc:

  Đầu ra:
  ================


  Đầu ra lỗi:
  ================

  Trong SqlCommands.php dòng 199:

    Truy vấn không thành công.


  sql:query [--result-file [TỆP KẾT QUẢ]] [--TỆP TỆP] [--xóa tệp] [--thêm EXTRA] [--db-prefix] [-h|--help] [ -q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [ -d|--debug] [-y|--yes] [--no] [--remote-host REMOTE-HOST] [--remote-user REMOTE-USER] [-r|--root ROOT] [ -l|--uri URI] [--mô phỏng] [--pipe] [-D|--define DEFINE] [--cơ sở dữ liệu [ CƠ SỞ DỮ LIỆU]] [--mục tiêu [MỤC TIÊU]] [--db-url DB -URL] [--notify [NOTIFY]] [--druplicon] [--xh-link XH-LINK] [--] <lệnh> [<truy vấn>]

Khi xem xét kỹ hơn (hay còn gọi là dài dòng), tôi nhận thấy điều này** và tôi đã nói trên Drupal Slack rằng --tập tin chỉ lấy một tệp SQL không nén (sau này tôi đã xác minh điều này). Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể khắc phục lỗi khủng khiếp này?

*

sản xuất:
  máy chủ: example.com
  người dùng: người dùng
  gốc: /data/web/public_html/web
  uri: mặc định
  con đường:
   - tệp: trang web/mặc định/tệp

**

// Sao chép tệp mới và ghi đè tệp hiện có tại
// /tmp/termitral_db_20211011_103342.sql.gz. nguồn là
// [email protected]:/data/web/drush-backups/termitral_db/20211011103342/
// termitral_db_20211011_103342.sql.gz?: có.

và

Lệnh "/usr/local/bin/drush sql-query --strict=0 --file=/tmp/termitral_db_20211011_103342.sql.gz --file-delete --uri=drupal --root=/var/www/ drupalvm/drupal/web" không thành công.
leymannx avatar
lá cờ ne
Tôi nhớ vấn đề này từ một dự án DDEV và cách giải quyết đơn giản là kiểm tra thư mục/tmp, vì tệp được tải xuống nhưng không được nhập bằng cách nào đó, sau đó gunzip và nhập cơ sở dữ liệu từ đó. `ddev ssh` và ở đó `cd /tmp`, sau đó `ls -lhA` để lấy tên tệp cơ sở dữ liệu mới nhất, rồi `gunzip
leymannx avatar
lá cờ ne
Phiên bản nào của Drush BTW?
Kartagis avatar
lá cờ lu
Ừ, xin lỗi. 9.7.3.
leymannx avatar
lá cờ ne
Bạn có thể xác nhận cách giải quyết không? Cơ sở dữ liệu đã tải xuống thực sự tồn tại trong thư mục/tmp và chỉ quá trình nhập không hoạt động?
Kartagis avatar
lá cờ lu
Nó tồn tại trong/tmp và quá trình nhập không hoạt động. Nó chỉ hoạt động nếu tôi giải nén nó.
Stefanos Petrakis avatar
lá cờ in
Chỉ cần FYI: " --file=FILE. Đường dẫn đến tệp chứa SQL sẽ được chạy. Tệp Gzip được chấp nhận." từ https://www.drush.org/latest/commands/sql_query/
Stefanos Petrakis avatar
lá cờ in
Và cuối cùng, đây có thể là một cách giải quyết, https://github.com/drush-ops/drush/issues/4319#issuecomment-790558557
Điểm:1
lá cờ in

Thông tin thêm về những người khác có cùng vấn đề (https://github.com/drush-ops/drush/issues/4319#issuecomment-790558557)


Có hai cách để giải quyết điều này:

  • Nâng cấp drush lên v10 (thậm chí tốt hơn là 11)
    (https://www.drush.org/latest/install/#drupal-compatibility)

  • Hoặc, vá drush hiện tại của bạn bằng cách sử dụng một cái gì đó như sau:

    diff --git a/includes/drush.inc b/includes/drush.inc
    chỉ số a8f356ff8..85d56f617 100644
    --- a/gồm/drush.inc
    +++ b/gồm/drush.inc
    @@ -352,6 +352,7 @@ function drush_file_is_tarball($path) {
       $được hỗ trợ = [
         'ứng dụng/x-bzip2',
         'ứng dụng/x-gzip',
    + 'ứng dụng/gzip',
         'ứng dụng/x-tar',
         'ứng dụng/x-zip',
         'ứng dụng/mã zip',
    

Chúc may mắn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.