これまでデータベースを使用したことがないため、これはすべて新しいことです。私は RubyMine、Rails 3 で作業しています。
- まず、移行とは何ですか? なぜ移行を行うのですか? データベースブラウザからデータベースを編集することはできませんか? 移行によってデータは保持されますか?
- 次に、プロジェクトを継承しました。移行フォルダーには、20120128022506_users.rb のような名前のファイルが 3 つあります。移行タスクを実行すると、次のようになります。
SQLite3::SQLException: テーブル "projects" は既に存在します: CREATE TABLE "projects" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "partner_id" integer, "name" varchar(255))
実際、 というファイルを見ると"20120531031320_projects.rb"
、予想どおり、プロジェクト テーブルを作成しようとしています。
def up
create_table :projects do |table|
table.integer :partner_id
table.string :name
end
add_index :projects, :name
end
このプロジェクトは Sinatra から移植されたもので、データベースと移行ファイルが同期していない可能性があります (用語が正しい場合)。とにかく、これらの移行ファイルとデータベースの間で物事を同期する方法はありますか?新しい移行ファイルを使用してデータベースに新しいテーブルを追加できますか?