sql >> データベース >  >> RDS >> Mysql

Railsの移行でチェック制約を追加するにはどうすればよいですか?

    Railsの移行では制約を追加する方法はありませんが、実際のSQLをexecute()に渡すことで移行を介して行うことができます

    移行ファイルの作成:

    ruby script/generate Migration AddConstraint
    

    さて、移行ファイルで:

    class AddConstraint < ActiveRecord::Migration
      def self.up
        execute "ALTER TABLE table_name ADD CONSTRAINT check_constraint_name CHECK (check_column_name IN (1, 2, 3) )"
      end
    
      def self.down
        execute "ALTER TABLE table_name DROP CONSTRAINT check_constraint_name"
      end
    end
    


    1. MySQLer向けのPostgreSQLトレーニング

    2. ExcelVBAを使用してSQLクエリを実行する

    3. あるデータベースから含まれているテーブルをコピーして、別のデータベーステーブルに挿入したい

    4. mysqlでvarcharを日時形式に変換する方法