[RUBY] Was tun, wenn ActiveRecord :: StatementInvalid: Mysql2 :: Error: Fehler in der SQL-Syntax vorliegt? Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe

Wie Sie versucht haben, zurückzusetzen

Obwohl es sich um eine Produktionsumgebung handelt, ist sie zu voll mit zu vielen Benutzern und Daten. Deshalb wollte ich die Heroku-Datenbank zurücksetzen und von vorne beginnen.

Hintergrund

Ich habe Folgendes getan, um den Reset durchzuführen:

% heroku run rails db:reset

(Unterlassung)

rails aborted!
ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database.
If you are sure you want to continue, run the same command with the environment variable:
DISABLE_DATABASE_ENVIRONMENT_CHECK=1

Führen Sie erneut mit DISABLE_DATABASE_ENVIRONMENT_CHECK = 1 aus

% heroku run rails db:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1

rails aborted!
ActiveRecord::StatementInvalid: Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL, `updated_at` datetime(6) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=u' at line 1

SQL? Ich kann mich nicht erinnern, herumgespielt zu haben. .. Diesmal spielt es keine Rolle, weil ich es doch zurücksetzen möchte! Ich habe es ignoriert, angenommen, dass meine Rücksetzmethode falsch war, und die Rücksetzmethode erneut untersucht.

Was ging

Beim Zurücksetzen der Datenbank wusste ich, dass ich den folgenden Befehl ausführen würde, also habe ich ihn ausgeführt.

% heroku pg:reset DATABASE
Der App-Name hat keine Datenbanken

Ist verschwunden! Ich habe versucht, eine Datenbank mit Vertrauen zu erstellen.

% heroku run rails db:create

(Unterlassung)

Database 'heroku_Name der Datenbank' already exists

??? Existiert die Datenbank? Ich habe mir den Status angesehen

% heroku run rails db:migrate:status

up
up
up
...(Fortsetzen)

Nachdem ich bestätigt hatte, dass die Datenbank noch vorhanden ist, überprüfte ich die Datenbanklöschmethode erneut und führte den folgenden Befehl aus.

% heroku run RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

(Unterlassung)

Dropped database 'heroku_Name der Datenbank'

Nachdem bestätigt wurde, dass die Datenbank normal gelöscht wurde, wurde die Datenbank mit dem folgenden Befehl neu erstellt.

% heroku run rails db:create

(Unterlassung)

Created database 'heroku_Name der Datenbank'

Bestätigt, dass eine neue Datenbank erstellt wurde. Wenn Sie den Status überprüfen

% heroku run rails db:migrate:status

(Unterlassung)

Schema migrations table does not exist yet.

Führen Sie die Migration aus, da sich herausstellt, dass keine Schema-Migrationstabelle vorhanden ist.

% heroku run rails db:migrate

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Auf diese Weise ist es ein Erfolg, wenn das Protokoll Mein großer Erfolg angezeigt wird. Lol

Was ich dachte

Intuitiv dachte ich nach dem Heroku-Ausführungsbefehl, dass Heroku nicht richtig funktionieren würde, selbst wenn ich es wie den Rails-Befehl tippte, den ich in der Testumgebung immer auf dem Terminal eingegeben hatte.

Dieses Mal verwende ich Heroku, aber es scheint, dass es in Japan nur wenige Unternehmen gibt, die Heroku verwenden. Daher plane ich, in Zukunft auf AWS umzusteigen.

Referenzartikel

https://qiita.com/quattro_4/items/a2eb3618207e21ca00d3 https://qiita.com/take18k_tech/items/7afdde59d387fbde5f7e https://qiita.com/twipg/items/d8043cd4681a2780c160

Recommended Posts

Was tun, wenn ActiveRecord :: StatementInvalid: Mysql2 :: Error: Fehler in der SQL-Syntax vorliegt? Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Was tun, wenn die Fehlermeldung angezeigt wird, dass keine gültige Basis für Repo gefunden werden kann, wenn Sie im udemy-Kurs mit CentOS7 das Docker yum -y install verwenden?
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
Was tun, wenn ein Argumentfehler auftritt? Falsche Anzahl von Argumenten (gegeben 2, erwartete 0) in Ihrem RSpec-Test
Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden" angezeigt wird? Beim Starten des Rails-Servers
Was tun, wenn die Fehlermeldung "Versuchen Sie nicht, es manuell zu installieren: Ihr Paketmanager führt dies automatisch aus. Eine höhere Version des Webpacks wurde jedoch weiter oben in der Baumstruktur erkannt:" wird angezeigt, wenn Sie "npm start" ausführen. Recht
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn während des Rails-Testcodes ein Fehler bei der Standardauthentifizierung auftritt?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn Sie eine [HTTP-Anforderung hat zu lange gedauert] Fehler in Docker.
Was tun, wenn in Docker ein gcc-Fehler auftritt?
[Rails] Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden?" Angezeigt wird, wenn der Befehl "Rails" in Catalina ausgeführt wird
Was tun, wenn Sie aktiviert haben? Verwenden Sie die WSL2-basierte Engine in Docker Desktop mit unzureichender WSL2-Installation
So übersetzen Sie die Fehlermeldung ins Japanische (Was tun, wenn Sie sich aus irgendeinem Grund nicht anmelden können)
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
[Java] Was tun, wenn in Eclipse die Fehlermeldung "Nicht zulässig auf Quellenebene unter 1.X" angezeigt wird?
Was tun, wenn beim Abrufen von Rails datetime_field die Fehlermeldung "Bitte geben Sie einen gültigen Wert ein" angezeigt wird?
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
<Punktinstallation> Was tun, wenn Sie aufgrund eines Fehlers beim Erstellen einer Entwicklungsumgebung für das Rails-Lernen nicht fortfahren können?
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was tun, wenn der Befehl Rails unbrauchbar wird?
[Programmieranfänger] Was tun, wenn Schienen zu einem Fehler in der lokalen Entwicklungsumgebung werden?
Was tun, wenn der Git-Status besagt, dass Änderungen nicht für das Festschreiben bereitgestellt wurden: Nach dem Hinzufügen des Git.
Was tun, wenn beim Installieren von Axios in einem React + Typescript-Projekt ein Fehler auftritt?