嘿,我有一個軌方案和我試過在MySQL中創建。我一個數據庫要realod從方案數據庫使用此命令:Mysql2 ::錯誤:「列名」無效的默認值
rails db:schema:load
其他表成功創建,但該表具有默認值有問題:
create_table "settings", force: :cascade do |t|
t.integer "user_id"
t.string "legal_columns_order", default: "id,indicator,classification,urgency,package,registrar,subset_type,creation_time,sender,conjunctions,followings,responses,letter_receivers,letter_date,subject,letter_number,description,recipient,receiving_type,person_name,tel_number,portal_number,operator,transcriptions"
t.string "legal_columns_active", default: "true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true"
t.string "official_columns_order", default: "id,indicator,classification,urgency,recipient,package,creation_time,sender,registrar,subset_type,conjunctions,followings,responses,letter_receivers,letter_date,subject,letter_number,barcode,description,receiving_type,transcriptions"
t.string "official_columns_active", default: "true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true"
t.string "panel_column_order", default: "{\"panel_1\":[\"letterType\",\"subject\",\"subjectSugestion\",\"letterNumber\",\"classification\",\"sender\",\"urgency\",\"receivers\",\"letterDate\"],\"panel_2\":[\"recipient\",\"recivingType\",\"creation_time\",\"Packageid\",\"barcode\",\"Scan\"],\"panel_3\":[\"following\",\"conjunction\",\"response\",\"transcriptions\",\"description\",\"enclosed\",\"person_name\",\"tel_number\",\"portal_number\",\"operator\"],\"panel_names\":{\"panel_1\":\"اطلاعات اصلی\",\"panel_2\":\"اطلاعات ثبتی\",\"panel_3\":\"اطلاعات تکمیلی\"}}"
t.string "package_panel_columns", default: "{\"panel_1\":[\"courier_company\",\"classification\",\"receiving_type\",\"courier_type\",\"first_barcode\",\"second_barcode\",\"post_receiving_date\",\"creation_time\",\"registrar\"],\"panel_2\":[\"sender\",\"letter_receivers\",\"recipient_unit\",\"export_date\",\"subject\",\"recipient\",\"description\"],\"panel_names\":{\"panel_1\":\"اطلاعات اصلی\",\"panel_2\":\"اطلاعات ثبتی\"}}"
t.string "package_columns_order", default: "id,courier_company,classification,registrar,post_receiving_date,receiving_type,courier_type,first_barcode,sender,letter_receivers,export_date,subject,recipient,description,creation_time,recipient_unit"
t.string "package_columns_active", default: "true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true"
t.string "form_panel_columns", default: "{\"panel_1\":[\"formType\",\"sender\",\"subject\",\"receivers\",\"creationDate\",\"receptionDate\",\"registrar\"],\"panel_2\":[\"recipient\",\"recipient_unit\",\"attachments\",\"documentNumber\",\"deliveryDate\",\"description\"],\"panel_names\":{\"panel_1\":\"اطلاعات اصلی\",\"panel_2\":\"اطلاعات تکمیلی\"}}"
t.string "form_columns_order", default: "id,form_type,sender,subject,registrar,form_receivers,creation_date,reception_date,recipient,document_number,delivery_date,description,recipient_unit"
t.string "form_columns_active", default: "true,true,true,true,true,true,true,true,true,true,true,true,true"
t.string "tracking_column_order", default: "registrar,package,classification,indicator,letter_urgency,sender,subset_type,letter_created_at,assignee,paraph,tracking_type,tracking_urgency,tracking_created_at"
t.string "tracking_column_active", default: "true,true,true,true,true,true,true,true,true,true,true,true,true"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id"], name: "index_settings_on_user_id"
end
我得到這個錯誤:
rails aborted!
ActiveRecord::StatementInvalid: Mysql2::Error: Invalid default value for 'legal_columns_order': CREATE TABLE `settings`
你有什麼想法嗎?
我這樣做,但再次出現此錯誤:Mysql2 ::錯誤:BLOB,TEXT,GEOMETRY或JSON列'legal_columns_order'不能有默認值 –
@AfsaneFadaei你是對的。我錯過了MySQL不支持TEXT列上的默認值。我更新了我的答案來解決這個問題。 – spickermann