require "migrate"
-class PopulateNodeTagsAndRemove < ActiveRecord::Migration
+class PopulateNodeTagsAndRemove < ActiveRecord::Migration[5.0]
def self.up
- have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i != 0
+ have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i.nonzero?
if have_nodes
prefix = File.join Dir.tmpdir, "020_populate_node_tags_and_remove.#{$PROCESS_ID}."
cmd = "db/migrate/020_populate_node_tags_and_remove_helper"
src = "#{cmd}.c"
if !File.exist?(cmd) || File.mtime(cmd) < File.mtime(src)
- system("cc -O3 -Wall `mysql_config --cflags --libs` " +
- "#{src} -o #{cmd}") || fail
+ system("cc -O3 -Wall `mysql_config --cflags --libs` " \
+ "#{src} -o #{cmd}") || raise
end
conn_opts = ActiveRecord::Base.connection.instance_eval { @connection_options }
args = conn_opts.map(&:to_s) + [prefix]
- fail "#{cmd} failed" unless system cmd, *args
+ raise "#{cmd} failed" unless system cmd, *args
- tempfiles = %w(nodes node_tags current_nodes current_node_tags)
+ tempfiles = %w[nodes node_tags current_nodes current_node_tags]
.map { |base| prefix + base }
nodes, node_tags, current_nodes, current_node_tags = tempfiles
end
create_table :node_tags, :id => false do |t|
t.column :id, :bigint, :null => false
t.column :version, :bigint, :null => false
- t.column :k, :string, :default => "", :null => false
- t.column :v, :string, :default => "", :null => false
+ t.column :k, :string, :default => "", :null => false
+ t.column :v, :string, :default => "", :null => false
end
# now get the data back
end
def self.down
- fail ActiveRecord::IrreversibleMigration
+ raise ActiveRecord::IrreversibleMigration
# add_column :nodes, "tags", :text, :default => "", :null => false
# add_column :current_nodes, "tags", :text, :default => "", :null => false
end