ตัวอย่างที่สมบูรณ์แบบของทีมงานหรือนักพัฒนาบุคคลที่ไม่ได้พูดคุยกัน ในขณะที่eav_attribute
ตารางหลักatrtibute_code
คือ a varchar(255)
ค่ารหัสนี้มักใช้ในตารางอื่น
ในcatalog_product_link_attribute
มีproduct_link_attribute_code
แอตทริบิวต์ (ซึ่งเป็นรหัสแอตทริบิวต์) varchar(32)
และคอลัมน์นี้เป็น ย้อนกลับไปในยุคก่อนประวัติศาสตร์เมื่อวัตถุการขายเป็นวัตถุ EAV พวกเขามีคอลัมน์ attribute_code ซึ่งมีvarchar(50)
ความยาว
# Mage/Sales/sql/sales_setup/mysql4-upgrade-0.9.45-0.9.46.php
$installer->getConnection()->addColumn($this->getTable('sales_order'), $attribute['attribute_code'], 'varchar(50) NULL');
ฉันคิดว่ามีคนอื่นเช่นกัน
หากไม่มีข้อกำหนดหรือข้อตกลงที่แท้จริงเกี่ยวกับสิ่งที่ถูกสร้างขึ้นนักพัฒนาที่รับผิดชอบ UI สำหรับส่วนแอตทริบิวต์น่าจะดูที่attribute_code
คอลัมน์ทั้งหมดเลือกอันที่สั้นที่สุดและบังคับใช้ความยาวเพื่อให้แน่ใจว่าผู้ใช้ไม่สามารถสร้างรหัสแอตทริบิวต์ได้ ที่จะยาวเกินไปสำหรับหนึ่งในตารางต่างๆที่นักพัฒนาอื่นกำลังทำงานอยู่
สำหรับเหตุผลที่นักพัฒนาจะเลือกvarchar
ความยาวที่ไม่มี255
- มีโรงเรียนแห่งความคิดเกี่ยวกับการออกแบบฐานข้อมูลที่บอกว่าคุณสร้างคอลัมน์ของคุณตราบเท่าที่พวกเขาจำเป็นต้องประหยัดพื้นที่ดิสก์ลด RAM ให้มีประสิทธิภาพมากขึ้นในการเข้าร่วม เป็นต้นนักพัฒนาบางคนยังคงยึดมั่นกับสิ่งนี้กับแนวโน้มที่ทันสมัยของ "ทำให้มันมีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้และกังวลเกี่ยวกับผลกระทบด้านประสิทธิภาพในภายหลัง" ก็เป็นที่ชัดเจนมีความขัดแย้งกับความยาวสูงสุดvarchar
สำหรับattribute_code
's ในหมู่ทีมงานหลักวีโอไอพีที่จุดหนึ่งและตอนนี้ก็อาศัยอยู่ในรหัสเดิม
ATTRIBUTE_CODE_MAX_LENGTH
ค่าคงที่ไม่มีอยู่จริง