Merge migrations
This commit is contained in:
parent
b07b7ba909
commit
347712e683
4 changed files with 63 additions and 93 deletions
|
@ -208,5 +208,67 @@ class DeviseCreateUsers < ActiveRecord::Migration[5.2]
|
|||
SQL
|
||||
end
|
||||
end
|
||||
|
||||
constraint :accounts, :guest_token, <<~SQL
|
||||
guest_token ~ '^[0-9a-f]{32}$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :nickname, <<~SQL
|
||||
length(nickname) BETWEEN 3 AND 36
|
||||
AND
|
||||
nickname ~ '^[a-z][a-z0-9]*(_[a-z0-9]+)*$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :public_name, <<~SQL
|
||||
public_name IS NULL
|
||||
OR
|
||||
length(public_name) BETWEEN 3 AND 255
|
||||
AND
|
||||
public_name !~ '^[[:space:]]*$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :biography, <<~SQL
|
||||
biography IS NULL
|
||||
OR
|
||||
length(biography) BETWEEN 3 AND 10000
|
||||
AND
|
||||
biography !~ '^[[:space:]]*$'
|
||||
SQL
|
||||
|
||||
constraint :federal_subjects, :english_name, <<~SQL
|
||||
length(english_name) BETWEEN 1 AND 255
|
||||
AND
|
||||
english_name !~ '^[[:space:]]{1,}'
|
||||
AND
|
||||
english_name !~ '[[:space:]]{1,}$'
|
||||
SQL
|
||||
|
||||
constraint :federal_subjects, :native_name, <<~SQL
|
||||
length(native_name) BETWEEN 1 AND 255
|
||||
AND
|
||||
native_name !~ '^[[:space:]]{1,}'
|
||||
AND
|
||||
native_name !~ '[[:space:]]{1,}$'
|
||||
SQL
|
||||
|
||||
constraint :federal_subjects, :number, 'number > 0'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def constraint(table, name, check)
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} ADD CONSTRAINT #{name} CHECK (#{check})
|
||||
SQL
|
||||
end
|
||||
|
||||
dir.down do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} DROP CONSTRAINT #{name}
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddConstraintsToAccounts < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
constraint :accounts, :guest_token, <<~SQL
|
||||
guest_token ~ '^[0-9a-f]{32}$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :nickname, <<~SQL
|
||||
length(nickname) BETWEEN 3 AND 36
|
||||
AND
|
||||
nickname ~ '^[a-z][a-z0-9]*(_[a-z0-9]+)*$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :public_name, <<~SQL
|
||||
public_name IS NULL
|
||||
OR
|
||||
length(public_name) BETWEEN 3 AND 255
|
||||
AND
|
||||
public_name !~ '^[[:space:]]*$'
|
||||
SQL
|
||||
|
||||
constraint :accounts, :biography, <<~SQL
|
||||
biography IS NULL
|
||||
OR
|
||||
length(biography) BETWEEN 3 AND 10000
|
||||
AND
|
||||
biography !~ '^[[:space:]]*$'
|
||||
SQL
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def constraint(table, name, check)
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} ADD CONSTRAINT #{name} CHECK (#{check})
|
||||
SQL
|
||||
end
|
||||
|
||||
dir.down do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} DROP CONSTRAINT #{name}
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,41 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddConstraintsToImportantTables < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
constraint :federal_subjects, :english_name, <<~SQL
|
||||
length(english_name) BETWEEN 1 AND 255
|
||||
AND
|
||||
english_name !~ '^[[:space:]]{1,}'
|
||||
AND
|
||||
english_name !~ '[[:space:]]{1,}$'
|
||||
SQL
|
||||
|
||||
constraint :federal_subjects, :native_name, <<~SQL
|
||||
length(native_name) BETWEEN 1 AND 255
|
||||
AND
|
||||
native_name !~ '^[[:space:]]{1,}'
|
||||
AND
|
||||
native_name !~ '[[:space:]]{1,}$'
|
||||
SQL
|
||||
|
||||
constraint :federal_subjects, :number, 'number > 0'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def constraint(table, name, check)
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} ADD CONSTRAINT #{name} CHECK (#{check})
|
||||
SQL
|
||||
end
|
||||
|
||||
dir.down do
|
||||
execute <<~SQL
|
||||
ALTER TABLE #{table} DROP CONSTRAINT #{name}
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1139,8 +1139,6 @@ SET search_path TO "$user", public;
|
|||
|
||||
INSERT INTO "schema_migrations" (version) VALUES
|
||||
('20181129203927'),
|
||||
('20181130024918'),
|
||||
('20190720042127'),
|
||||
('20190720124758');
|
||||
('20181130024918');
|
||||
|
||||
|
||||
|
|
Reference in a new issue