以下のコマンドをコンソールで実行しました
rails g migration payslips first_name:string last_name:string
しかし、これは以下のような空のファイルを生成するだけです
class Payslips < ActiveRecord::Migration
def change
end
end
理由がわかりません。コンソール生成コマンドに何か問題がありますか?
以下のコマンドをコンソールで実行しました
rails g migration payslips first_name:string last_name:string
しかし、これは以下のような空のファイルを生成するだけです
class Payslips < ActiveRecord::Migration
def change
end
end
理由がわかりません。コンソール生成コマンドに何か問題がありますか?
正しい機能です。モデルを作成する場合は、次を実行する必要があります。
rails g model payslips first_name:string last_name:string
次に、次のようになります。
class CreatePayslips < ActiveRecord::Migration
def change
create_table :payslips do |t|
t.string :first_name
t.string :last_name
t.timestamps
end
end
end
次の言葉を使用してください:テーブル名の前に作成します。
$ rails generate migration CreateProducts name:string part_number:string
生成:
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.string :part_number
end
end
end
モデルが作成されたと仮定すると、本当にやりたいことを説明するときは、より明確にする必要があります。
rails g migration add_first_name_and_last_name_to_payslips first_name:string last_name:string
上記は移行者に first_name と last_name を給与明細テーブルに追加するように指示するため、最終的にこの移行になります。
class AddFirstNameAndLastNameToPayslips < ActiveRecord::Migration
def change
add_column :payslips, :first_name, :string
add_column :payslips, :last_name, :string
end
end
移行を単独で生成して、テーブルを変更できます。ただし、新しいテーブルを作成するには、モデルを生成して、対応するモデルのテーブル移行を作成する必要があります(@efrenfuentesが言ったように)
または、プラグインと呼ばれるプラグインでやりたいことを試すことができますmigration_for
rails plugin install git://github.com/capotej/migration_for.git
rails g migration_for create_table:payslips add_column:payslips:first_name:string add_column:payslips:last_name:string