このコミットが含まれているのは:
@@ -3,19 +3,32 @@ class CreateLocales < ActiveRecord::Migration[8.0]
|
||||
create_table :locales, id: { type: :string, limit: 32 }, primary_key: :code do |t|
|
||||
t.string :language_code, limit: 16, null: false, index: true
|
||||
t.column :script_code, 'CHAR(4)', null: false
|
||||
t.integer :region_code, limit: 2, null: false
|
||||
t.string :variants, limit: 255, null: false, default: ''
|
||||
t.string :name, null: false
|
||||
t.datetime :deprecated_at, index: true
|
||||
t.datetime :created_at, null: false
|
||||
|
||||
t.foreign_key :languages, column: :language_code, primary_key: :code
|
||||
t.foreign_key :scripts, column: :script_code, primary_key: :code
|
||||
t.foreign_key :regions, column: :region_code, primary_key: :code
|
||||
t.check_constraint ('REGEXP_LIKE(variants, ' +
|
||||
"'^(" +
|
||||
'(([a-z0-9]{5,8}|[0-9][a-z0-9]{3})' +
|
||||
'(-([a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*' +
|
||||
'(-x(-[a-z0-9]{1,8})+)?)' +
|
||||
'|(x(-[a-z0-9]{1,8})+)' +
|
||||
")?$', 'c')"),
|
||||
name: 'locales_variants_check'
|
||||
|
||||
t.index [:language_code, :script_code, :region_code, :variants], unique: true
|
||||
end
|
||||
|
||||
execute <<~SQL
|
||||
INSERT INTO
|
||||
locales(code, language_code, script_code, name, created_at)
|
||||
locales(code, language_code, script_code, region_code, name, created_at)
|
||||
VALUES
|
||||
('ja', 'ja', 'Jpan', '日本語', #{ connection.quote Time.current })
|
||||
('ja', 'ja', 'Jpan', 392, '日本語', #{ connection.quote Time.current })
|
||||
SQL
|
||||
end
|
||||
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする