|
- class AddVersionNoToPosts < ActiveRecord::Migration[8.0]
- def up
- add_column :posts, :version_no, :integer
-
- execute <<~SQL
- UPDATE
- posts
- SET
- version_no = (
- SELECT
- MAX(version_no)
- FROM
- post_versions
- WHERE
- post_id = posts.id)
- SQL
-
- change_column_null :posts, :version_no, false
-
- add_check_constraint :posts, 'version_no > 0', name: 'chk_posts_version_no_positive'
- end
-
- def down
- remove_check_constraint :posts, name: 'chk_posts_version_no_positive'
- remove_column :posts, :version_no
- end
- end
|