Techioz Blog

Rails Migration を使用してデータベースを作成できない

概要

Rails db:merge の使用に関して問題に直面したところです。以下の画像は、私が直面した問題を正確に示しています。 これは、コマンド Rails db:merge を実行したときのエラーです

そしてこれが私のコードです:

class CreateAdmins < ActiveRecord::Migration[7.0]
  def change
    create_table :admins do |t|

      t.string :email, limit: 50
      t.string :encrypted_password, limit: 100
      t.integer :sign_in_count, default: 0
      t.string :hashid1, limit: 100
      t.string :hashid2, limit: 100
      t.string :encrypted_fullname_vi, limit: 100
      t.string :encrypted_fullname_en, limit: 100
      t.string :encrypted_birthday, limit: 100
      t.string :encrypted_address, limit: 100
      t.string :nickname
      t.json :image_json
      t.integer :show_avatar, limit: 1, default: 0

      t.timestamps
    end
  end
end

このフォーラムでさまざまな方法を試しましたが、それでも効果はありませんでした。これを修正するにはどうすればよいですか?

私の環境の詳細は次のとおりです。 ルビー:3.1.4 レール: 7.0.8 移行: 7.0

解決策

Postgres フラグを使用して Rails プロジェクトを作成したと思いますが、MySQL2 gem を使用しているか、MySQL データベースに接続しています。

これを解決したい場合は、Postgres データベースに切り替えるか、MySQL2 gem を使用してモデル スキャフォールディングを再実行します。

bin/rails db:drop db:create を実行すると、新たに再起動できます。