私はRailsの初心者で、Windows7マシンでいくつかの例を試しています。
次のエラーが発生します:SQLite3::SQLException: table "entries" already exists
「entries」は別のRailsアプリケーションですでに作成されているテーブルであり、「entries」を再度作成しようとしている同様の例を試しています。
Railsはアプリケーションごとにsqliteに個別のデータベースを作成しますか?(私はSqliteも初めてです)。
私はRailsの初心者で、Windows7マシンでいくつかの例を試しています。
次のエラーが発生します:SQLite3::SQLException: table "entries" already exists
「entries」は別のRailsアプリケーションですでに作成されているテーブルであり、「entries」を再度作成しようとしている同様の例を試しています。
Railsはアプリケーションごとにsqliteに個別のデータベースを作成しますか?(私はSqliteも初めてです)。
デフォルトでは、sqlite を使用する場合、Rails は 、 という名前development.sqlite3のデータベースを使用します。これらは、Rails プロジェクトのディレクトリにあるtest.sqlite3ファイルproduction.sqlite3です。db
したがって、新しいアプリケーションが古いアプリケーションと同じフォルダーにある場合は、同じデータベースを使用することになります。または、config/database.ymlファイルが DB の共通の場所を指している場合。
アプリケーションごとdatabase.ymlに、アプリケーションの構成フォルダーにファイルがあります。データベース設定とともに、アプリケーションに固有のデータベース名を定義できます。おそらく、両方のプロジェクトに同じdatabase.ymlファイルがあるだけです。したがって、現在のアプリケーションも、既に存在するテーブルを作成しようとしていdatabase.ymlます(以前のアプリケーションのファイルによって作成されました)。
database.yml解決策は、アプリケーションに固有のものを変更することです。
その後、実行できます:
rake db:create
rake db:migrate
上記の順序で、すべて問題ありません。
rake db:dropファイルを変更せずに上記の 2 つのコマンドのみを実行することもできdatabase.ymlますが、これにより以前のデータベースが削除され、このアプリケーション用に新しいデータベースが作成されます。しかし、これはお勧めできません。