นี่คือคำสั่ง odb ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
odb - คอมไพเลอร์การทำแผนที่เชิงวัตถุ (ORM) สำหรับ C ++
เรื่องย่อ
ODB [ ตัวเลือก ] ไฟล์ [ ไฟล์... ]
DESCRIPTION
กำหนดชุดของคลาส C++ ในไฟล์ส่วนหัว ODB สร้างรหัส C ++ ที่ช่วยให้คุณ
คงอยู่ ค้นหา และอัปเดตวัตถุของคลาสเหล่านี้ในฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ดิ
ฐานข้อมูลเชิงสัมพันธ์ที่โค้ดที่สร้างขึ้นควรกำหนดเป้าหมายถูกระบุด้วยค่าที่จำเป็น
--ฐานข้อมูล ตัวเลือก (ดูด้านล่าง)
สำหรับไฟล์อินพุตในรูปแบบ ชื่อ.hxx (นามสกุลไฟล์อื่นสามารถใช้แทน
.hxx) ในโหมดฐานข้อมูลเดียว (ค่าเริ่มต้น) ไฟล์ C++ ที่สร้างขึ้นโดยค่าเริ่มต้น have
ชื่อต่อไปนี้: ชื่อ-odb.hxx (ไฟล์ส่วนหัว) ชื่อ-odb.ixx (ไฟล์อินไลน์) และ ชื่อ-
odb.cxx (ไฟล์ต้นฉบับ) นอกจากนี้ ถ้า --สร้างสคีมา มีการระบุตัวเลือกและ
SQL มีการร้องขอรูปแบบสคีมา (ดู --schema-รูปแบบ) ชื่อ.sql ไฟล์สคีมาฐานข้อมูล is
สร้างขึ้น ถ้า แยก มีการร้องขอรูปแบบสคีมา รหัสการสร้างฐานข้อมูลคือ
สร้างขึ้นในที่แยกต่างหาก ชื่อ-schema.cxx ไฟล์
ในโหมดหลายฐานข้อมูล (ดูที่ --หลายฐานข้อมูล ตัวเลือกด้านล่าง) ไฟล์ที่สร้างขึ้น
ที่สอดคล้องกับ ร่วมกัน ฐานข้อมูลมีชื่อเหมือนกับในโหมดฐานข้อมูลเดียว
สำหรับฐานข้อมูลอื่น ชื่อไฟล์จะรวมชื่อฐานข้อมูล: ชื่อ-odb-db.hxx, ชื่อ-odb-
db.ixx, ชื่อ-odb-db.cxx, ชื่อ-db.sqlและ ชื่อสคีมา-db.cxx (ในกรณีที่ db เป็นฐานข้อมูล
ชื่อ).
OPTIONS
--ช่วยด้วย พิมพ์ข้อมูลการใช้งานและออก
--รุ่น
พิมพ์เวอร์ชันและออก
-I dir เพิ่ม dir ไปยังจุดเริ่มต้นของรายการไดเร็กทอรีที่จะค้นหารวม
ไฟล์ส่วนหัว
-D พร้อมชื่อ[=def]
กำหนดมาโคร พร้อมชื่อ ที่มีคำจำกัดความ def. หากละคำนิยาม ให้นิยาม พร้อมชื่อ ที่จะ
1.
-U พร้อมชื่อ
ยกเลิกคำจำกัดความก่อนหน้าของมาโคร พร้อมชื่อ, ในตัวหรือมาพร้อมกับ
-D ตัวเลือก
--ฐานข้อมูล|-d db
สร้างรหัสสำหรับ db ฐานข้อมูล ค่าที่ถูกต้องคือ mssql, MySQL, คำพยากรณ์, pgsql,
สแควร์ไลท์และ ร่วมกัน (โหมดหลายฐานข้อมูลเท่านั้น)
--หลายฐานข้อมูล|-m ชนิด
เปิดใช้งานการสนับสนุนหลายฐานข้อมูลและระบุประเภท ค่าที่ถูกต้องสำหรับตัวเลือกนี้
เป็น คงที่ และ พลวัต.
ในโหมดหลายฐานข้อมูล ตัวเลือกที่กำหนดประเภท (เช่น --สคีมา-
รูป) ชื่อ (เช่น --odb-ไฟล์ต่อท้าย) หรือเนื้อหา (เช่น คำนำ
และตัวเลือกส่งท้าย) ของไฟล์ที่ส่งออกสามารถนำหน้าด้วยชื่อฐานข้อมูล
ตามด้วยโคลอน เช่น mysql:ค่า. สิ่งนี้จำกัดมูลค่าของ an . ดังกล่าว
ตัวเลือกที่จะใช้กับไฟล์ที่สร้างขึ้นซึ่งสอดคล้องกับฐานข้อมูลนี้เท่านั้น
--default-ฐานข้อมูล db
เมื่อใช้การรองรับหลายฐานข้อมูลแบบคงที่ ให้ระบุฐานข้อมูลที่ควรจะเป็น
ทำให้เป็นค่าเริ่มต้น เมื่อใช้การสนับสนุนหลายฐานข้อมูลแบบไดนามิก ร่วมกัน อยู่เสมอ
ทำให้ฐานข้อมูลเริ่มต้น
--สร้างแบบสอบถาม|-q
สร้างรหัสสนับสนุนแบบสอบถาม หากไม่มีการสนับสนุนนี้ คุณจะใช้การดูไม่ได้และทำได้เท่านั้น
โหลดวัตถุผ่านรหัสของพวกเขา
--สร้างเตรียม
สร้างรหัสสนับสนุนการดำเนินการแบบสอบถามที่เตรียมไว้
--ละเว้น-ไม่ได้เตรียมตัว
ละเว้นรหัสสนับสนุนการเรียกใช้แบบสอบถามที่ไม่ได้เตรียมไว้ (ครั้งเดียว)
--generate-เซสชัน|-e
สร้างรหัสสนับสนุนเซสชัน ด้วยตัวเลือกนี้ การสนับสนุนเซสชันจะเปิดใช้งานโดย
ดีฟอลต์สำหรับคลาสถาวรทั้งหมดยกเว้นคลาสที่ชัดเจน
ปิดการใช้งานโดยใช้ db เซสชั่น แพรกมา
--สร้างสคีมา|-s
สร้างสคีมาฐานข้อมูล สคีมาฐานข้อมูลประกอบด้วยคำสั่ง SQL ที่
สร้างตารางฐานข้อมูลที่จำเป็นในการจัดเก็บคลาสถาวรที่กำหนดไว้ในไฟล์
กำลังรวบรวม โปรดทราบว่าเมื่อใช้สคีมานี้ ข้อมูลที่มีอยู่ทั้งหมด
ที่เก็บไว้ในตารางดังกล่าวจะสูญหายไป
ขึ้นอยู่กับฐานข้อมูลที่ใช้ (--ฐานข้อมูล ตัวเลือก) สคีมาถูกสร้างขึ้น
ไม่ว่าจะเป็นไฟล์ SQL แบบสแตนด์อโลนหรือฝังลงในโค้ด C++ ที่สร้างขึ้น โดยค่าเริ่มต้น
ไฟล์ SQL ถูกสร้างขึ้นสำหรับ MySQL, PostgreSQL, Oracle และ Microsoft SQL
ฐานข้อมูลเซิร์ฟเวอร์และสคีมาถูกฝังลงในโค้ด C++ สำหรับ SQLite
ฐานข้อมูล ใช้ --schema-รูปแบบ ตัวเลือกในการเปลี่ยนรูปแบบสคีมาเริ่มต้น
หากเปิดใช้งานการสนับสนุนการวิวัฒนาการสคีมาฐานข้อมูล (นั่นคือ รุ่นของอ็อบเจ็กต์โมเดล
ถูกระบุ) ดังนั้นตัวเลือกนี้จะทริกเกอร์การสร้างฐานข้อมูล schema . ด้วย
คำสั่งการโยกย้ายอีกครั้งไม่ว่าจะเป็นไฟล์ SQL แบบสแตนด์อโลนหรือฝังลงใน
สร้างรหัส C ++ คุณสามารถระงับการสร้างคำสั่งการโยกย้ายสคีมาได้
โดยระบุ --ปราบปรามการโยกย้าย ตัวเลือก
--สร้างสคีมาเท่านั้น
สร้างเฉพาะสคีมาฐานข้อมูล โปรดทราบว่าตัวเลือกนี้ใช้ได้เฉพาะเมื่อ
การสร้างสคีมาเป็นไฟล์ SQL แบบสแตนด์อโลน (ดู --schema-รูปแบบ สำหรับรายละเอียด)
--ปราบปรามการโยกย้าย
ระงับการสร้างคำสั่งการโยกย้ายสคีมาฐานข้อมูล
--ระงับสคีมารุ่น
ระงับการสร้างตารางเวอร์ชันสคีมา หากคุณระบุตัวเลือกนี้แล้ว
คุณยังต้องระบุเวอร์ชันสคีมาฐานข้อมูลและการย้ายข้อมูลด้วยตนเอง
รัฐที่รันไทม์โดยใช้ odb::ฐานข้อมูล::schema_version() ฟังก์ชัน
--schema-รุ่น-table พร้อมชื่อ
ระบุชื่อตารางเวอร์ชันสคีมาสำรองแทนค่าเริ่มต้น
สคีมา_เวอร์ชัน. หากคุณระบุตัวเลือกนี้ คุณจะต้องดำเนินการด้วยตนเองเช่นกัน
ระบุชื่อตารางเวอร์ชันสคีมาที่รันไทม์โดยใช้
odb::ฐานข้อมูล::schema_version_table() การทำงาน. ชื่อตารางสามารถผ่านการรับรอง
--schema-รูปแบบ รูป
สร้างสคีมาฐานข้อมูลในรูปแบบที่ระบุ ผ่าน SQL as รูป ไปยัง
สร้างสคีมาฐานข้อมูลเป็นไฟล์ SQL แบบสแตนด์อโลนหรือ pass ที่ฝัง เพื่อฝัง
สคีมาในรหัส C ++ ที่สร้างขึ้น ดิ แยก มีค่าเท่ากับ ที่ฝัง
ยกเว้นรหัสการสร้างสคีมาจะถูกสร้างขึ้นในไฟล์ C ++ แยกต่างหาก (ชื่อ-
สคีมา.cxx โดยค่าเริ่มต้น). ค่านี้มีประโยชน์เป็นหลักหากคุณต้องการวาง
ฟังก์ชันการสร้างสคีมาในโปรแกรมหรือไลบรารีแยกต่างหาก ทำซ้ำสิ่งนี้
ตัวเลือกในการสร้างสคีมาฐานข้อมูลเดียวกันในหลายรูปแบบ
--ละเว้น
ตกหล่น DROP คำสั่งจากสคีมาฐานข้อมูลที่สร้างขึ้น
--ละเว้น-สร้าง
ตกหล่น สร้าง คำสั่งจากสคีมาฐานข้อมูลที่สร้างขึ้น
--schema-ชื่อ พร้อมชื่อ
ใช้ พร้อมชื่อ เป็นชื่อสคีมาฐานข้อมูล ชื่อสคีมาส่วนใหญ่จะใช้เพื่อ
แยกแยะระหว่างสคีมาที่ฝังไว้หลายรายการในแค็ตตาล็อกสคีมา พวกเขาจะไม่
ให้สับสนกับสคีมาฐานข้อมูล (เนมสเปซฐานข้อมูล) ที่ระบุด้วย
--สคีมา ตัวเลือก. หากไม่ได้ระบุตัวเลือกนี้ ชื่อว่าง ซึ่งก็คือ
ใช้ชื่อสคีมาเริ่มต้น
--fkeys-เลื่อนเวลาโหมด m
ใช้โหมดการตรวจสอบข้อจำกัด m ในคีย์ต่างประเทศที่สร้างขึ้นสำหรับความสัมพันธ์ของวัตถุ
ค่าที่ถูกต้องสำหรับตัวเลือกนี้คือ not_เลื่อนออกไปได้, ทันทีและ เลื่อนออกไป (ค่าเริ่มต้น).
MySQL และ SQL Server ไม่รองรับคีย์นอกแบบเลื่อนเวลาได้และสำหรับฐานข้อมูลเหล่านี้
คีย์ดังกล่าวถูกสร้างขึ้นแสดงความคิดเห็น คีย์ต่างประเทศอื่น ๆ ที่สร้างโดย ODB
คอมไพเลอร์ (เช่นตัวที่ใช้เพื่อรองรับคอนเทนเนอร์และลำดับชั้นแบบโพลีมอร์ฟิค)
ถูกสร้างมาให้เลื่อนออกไปไม่ได้เสมอ
โปรดทราบว่าหากคุณใช้ทั้ง not_เลื่อนออกไปได้ or ทันที โหมดแล้วลำดับ
ที่คุณคงอยู่ ปรับปรุง และลบอ็อบเจ็กต์ภายในธุรกรรมจะกลายเป็น
สำคัญ.
--default-ตัวชี้ PTR
ใช้ PTR เป็นตัวชี้เริ่มต้นสำหรับวัตถุและมุมมองถาวร วัตถุและมุมมอง
ที่ไม่มีตัวชี้กำหนดไว้กับ db ตัวชี้ Pragma จะใช้สิ่งนี้
ตัวชี้โดยค่าเริ่มต้น ค่าของตัวเลือกนี้สามารถเป็น * ซึ่งหมายถึงตัวชี้ดิบ
และเป็นชื่อเริ่มต้นหรือชื่อที่ถูกต้องของเทมเพลตคลาสตัวชี้อัจฉริยะสำหรับ
ตัวอย่าง, มาตรฐาน::auto_ptr. ในกรณีหลัง คอมไพเลอร์ ODB สร้างอ็อบเจกต์
หรือดูตัวชี้โดยเพิ่มอาร์กิวเมนต์เทมเพลตเดียวของวัตถุหรือประเภทมุมมองไปยัง
ชื่อที่ผ่านการรับรอง เช่น std::auto_ptr. รันไทม์ ODB ใช้วัตถุ
และดูพอยน์เตอร์เพื่อส่งคืน และ ในกรณีของอ็อบเจ็กต์ ส่งผ่านและแคชแบบไดนามิก
อินสแตนซ์ที่จัดสรรของอ็อบเจ็กต์และประเภทมุมมอง
ยกเว้นตัวชี้แบบดิบและตัวชี้อัจฉริยะมาตรฐานที่กำหนดไว้ใน
ไฟล์ส่วนหัว คุณคาดว่าจะรวมคำจำกัดความของตัวชี้เริ่มต้นที่
จุดเริ่มต้นของไฟล์ส่วนหัวที่สร้างขึ้น มีสองวิธีทั่วไปในการบรรลุ
สิ่งนี้: คุณสามารถรวมส่วนหัวที่จำเป็นในไฟล์ที่กำลังรวบรวมหรือคุณ
สามารถใช้ --hxx-อารัมภบท ตัวเลือกเพื่อเพิ่มความจำเป็น #include คำสั่งไปยัง
รหัสที่สร้างขึ้น
--ประเภทเซสชัน ชนิด
ใช้ ชนิด เป็นประเภทเซสชันทางเลือกแทนค่าเริ่มต้น odb::เซสชัน. นี้
สามารถใช้ตัวเลือกเพื่อระบุการใช้งานเซสชันที่กำหนดเองที่จะใช้โดย
ชั้นเรียนแบบถาวร โปรดทราบว่าคุณจะต้องรวมคำจำกัดความของ
ประเภทเซสชันที่กำหนดเองลงในไฟล์ส่วนหัวที่สร้างขึ้น โดยปกติจะทำได้กับ
--hxx-อารัมภบท* ตัวเลือก
--ข้อมูลส่วนตัว|-p พร้อมชื่อ
ระบุโปรไฟล์ที่ควรใช้ระหว่างการคอมไพล์ โปรไฟล์คือตัวเลือก
ไฟล์. คอมไพเลอร์ ODB จะค้นหาเวอร์ชันเฉพาะฐานข้อมูลที่มีชื่อก่อนเป็นอันดับแรก
สร้างโดยการต่อท้าย -ฐานข้อมูล.ตัวเลือก คำต่อท้ายถึง พร้อมชื่อที่นี่มี ฐานข้อมูล is
ชื่อฐานข้อมูลตามที่ระบุด้วย the --ฐานข้อมูล ตัวเลือก. หากไฟล์นี้ไม่ใช่
พบแล้วคอมไพเลอร์ ODB จะค้นหาเวอร์ชันที่ไม่ขึ้นกับฐานข้อมูลที่มีชื่อ
สร้างโดยการต่อท้ายเพียงแค่ .ตัวเลือก วิภัตติ
ไฟล์ตัวเลือกโปรไฟล์ถูกค้นหาในชุดไดเรกทอรีเดียวกันกับ C++
ส่วนหัวที่รวมอยู่ใน #include < ... > คำสั่ง (เส้นทางในตัวบวกเหล่านั้น
ระบุด้วย -I ตัวเลือก). ไฟล์ตัวเลือกจะถูกค้นหาก่อนใน
ไดเร็กทอรีตัวเองแล้วใน โอดีบี/ ไดเร็กทอรีย่อย
สำหรับรูปแบบของไฟล์ตัวเลือกให้ดูที่ --options-ไฟล์ ตัวเลือกด้านล่าง คุณ
สามารถทำซ้ำตัวเลือกนี้เพื่อระบุมากกว่าหนึ่งโปรไฟล์
--ในครั้งเดียว
สร้างรหัสสำหรับไฟล์อินพุตทั้งหมดรวมถึงไฟล์ทั้งหมดที่พวกเขา
รวมในครั้งเดียว ผลลัพธ์คือไฟล์ต้นฉบับ/สคีมาชุดเดียวที่มีทั้งหมด
รหัสที่สร้างขึ้น หากมีการระบุไฟล์อินพุตมากกว่าหนึ่งไฟล์พร้อมกับสิ่งนี้
ตัวเลือก จากนั้น --ใส่ชื่อ ต้องระบุตัวเลือกด้วยเพื่อให้
ชื่อฐานสำหรับไฟล์เอาต์พุต ในกรณีนี้ ส่วนไดเร็กทอรีของฐานดังกล่าว
ชื่อถูกใช้เป็นตำแหน่งของไฟล์ที่รวมกัน สิ่งนี้มีความสำคัญสำหรับ
#include ความละเอียดของคำสั่ง
--สคีมา คี
ระบุสคีมาฐานข้อมูล (เนมสเปซฐานข้อมูล) ที่ควรกำหนดให้กับ
คลาสถาวรในไฟล์ที่กำลังคอมไพล์ สคีมาฐานข้อมูลไม่ควรเป็น
สับสนกับชื่อสคีมาฐานข้อมูล (ชื่อแค็ตตาล็อกสคีมา) ซึ่งระบุด้วย
--schema-ชื่อ ตัวเลือก
--ส่งออก-สัญลักษณ์ เครื่องหมาย
สิ่งที่ใส่เข้าไป เครื่องหมาย ในสถานที่ที่คำสั่งควบคุมการส่งออก/นำเข้า DLL
(__declspec (dllexport/dllimport)) มีความจำเป็น ดูเพิ่มเติมที่ --extern-สัญลักษณ์
ตัวเลือกด้านล่าง
--extern-สัญลักษณ์ เครื่องหมาย
If เครื่องหมาย ถูกกำหนดไว้แล้ว ให้แทรกลงในตำแหน่งที่ต้องสร้างอินสแตนซ์ของเทมเพลต
ประกาศ extern. ปกติตัวเลือกนี้ใช้ร่วมกับ --ส่งออก-สัญลักษณ์ เมื่อ
เปิดใช้งานการสนับสนุนหลายฐานข้อมูลและแบบสอบถาม
--มาตรฐาน รุ่น
ระบุมาตรฐาน C++ ที่ควรใช้ในระหว่างการคอมไพล์ ค่าที่ถูกต้องคือ
ค++98 (Default) ค++11และ ค++14.
--warn-ยากเพิ่ม
เตือนเกี่ยวกับสมาชิกข้อมูลที่ฮาร์ดเพิ่ม
--warn-ฮาร์ด-ลบ
เตือนเกี่ยวกับสมาชิกข้อมูลที่ฮาร์ดลบและคลาสถาวร
--เตือน-ยาก
เตือนเกี่ยวกับสมาชิกข้อมูลทั้งแบบฮาร์ดเพิ่มและลบออก และคลาสแบบถาวร
--output-ผบ|-o dir
เขียนไฟล์ที่สร้างขึ้นไปยัง dir แทนไดเร็กทอรีปัจจุบัน
--ใส่ชื่อ พร้อมชื่อ
ใช้ พร้อมชื่อ แทนที่จะเป็นไฟล์อินพุตเพื่อรับชื่อของไฟล์ที่สร้างขึ้น ถ้า
--ในครั้งเดียว ระบุตัวเลือกแล้วส่วนไดเร็กทอรีของ พร้อมชื่อ ใช้เป็นไฟล์
ตำแหน่งของไฟล์รวม อ้างถึง --ในครั้งเดียว ตัวเลือกสำหรับรายละเอียด
--บันทึกการเปลี่ยนแปลง ไฟล์
อ่าน/เขียนบันทึกการเปลี่ยนแปลงจาก/เป็น ไฟล์ แทนไฟล์บันทึกการเปลี่ยนแปลงเริ่มต้น ดิ
ชื่อไฟล์บันทึกการเปลี่ยนแปลงเริ่มต้นมาจากชื่อไฟล์อินพุตและถูกวางไว้
ลงในไดเร็กทอรีเดียวกันกับไฟล์อินพุต โปรดทราบว่า --output-ผบ ตัวเลือกไม่
ไม่ส่งผลต่อตำแหน่งไฟล์บันทึกการเปลี่ยนแปลง กล่าวอีกนัยหนึ่ง โดยค่าเริ่มต้น บันทึกการเปลี่ยนแปลง
ไฟล์ถือเป็นอินพุตอื่นแทนที่จะเป็นเอาต์พุตแม้ว่าคอมไพเลอร์ ODB
อาจปรับเปลี่ยนได้ ใช้ --changelog-in และ --changelog-out ตัวเลือกที่จะระบุ
ไฟล์บันทึกการเปลี่ยนแปลงอินพุตและเอาต์พุตที่แตกต่างกัน
--changelog-in ไฟล์
อ่านบันทึกการเปลี่ยนแปลงจาก ไฟล์ แทนไฟล์บันทึกการเปลี่ยนแปลงเริ่มต้น หากตัวเลือกนี้คือ
ระบุแล้วคุณต้องระบุไฟล์ changelog เอาต์พุตด้วย --บันทึกการเปลี่ยนแปลง-
ออก.
--changelog-out ไฟล์
เขียนบันทึกการเปลี่ยนแปลงไปที่ ไฟล์ แทนไฟล์บันทึกการเปลี่ยนแปลงเริ่มต้น หากตัวเลือกนี้คือ
ระบุแล้วคุณต้องระบุไฟล์การเปลี่ยนแปลงการป้อนข้อมูลด้วย --บันทึกการเปลี่ยนแปลง-
in.
--changelog-dir dir
ใช้ dir แทนที่จะเป็นไดเร็กทอรีไฟล์อินพุตเป็นไดเร็กทอรีไฟล์ changelog นี้
ไดเร็กทอรียังถูกเพิ่มไปยังไฟล์บันทึกการเปลี่ยนแปลงที่ระบุด้วย the --บันทึกการเปลี่ยนแปลง,
--changelog-inและ --changelog-in ตัวเลือกเว้นแต่จะเป็นเส้นทางที่แน่นอน
--init-บันทึกการเปลี่ยนแปลง
บังคับให้มีการเริ่มต้นใหม่ของบันทึกการเปลี่ยนแปลง แม้ว่าจะมีอยู่ก็ตาม (ที่มีอยู่ทั้งหมด
ประวัติการเปลี่ยนแปลงจะหายไป) ตัวเลือกนี้มีประโยชน์สำหรับระบบอัตโนมัติเป็นหลัก
การทดสอบ
--odb-ไฟล์ต่อท้าย วิภัตติ
ใช้ วิภัตติ เพื่อสร้างชื่อไฟล์ C++ ที่สร้างขึ้น ในซิงเกิ้ล-
โหมดฐานข้อมูล ค่าเริ่มต้นสำหรับตัวเลือกนี้คือ -odb. ในโหมดหลายฐานข้อมูล
มันคือ -odb สำหรับไฟล์ที่สอดคล้องกับ ร่วมกัน ฐานข้อมูลและ -odb-db (ในกรณีที่ db
เป็นชื่อฐานข้อมูล) สำหรับฐานข้อมูลอื่น
--sql-ไฟล์ต่อท้าย วิภัตติ
ใช้ วิภัตติ เพื่อสร้างชื่อของไฟล์ schema SQL ที่สร้างขึ้น ในซิงเกิ้ล-
โหมดฐานข้อมูลโดยค่าเริ่มต้นจะไม่มีการใช้ส่วนต่อท้าย ในโหมดหลายฐานข้อมูล ค่าเริ่มต้น
ค่าสำหรับตัวเลือกนี้คือ -db (ในกรณีที่ db เป็นชื่อฐานข้อมูล)
--schema-ไฟล์ต่อท้าย วิภัตติ
ใช้ วิภัตติ เพื่อสร้างชื่อของไฟล์ต้นฉบับ schema C++ ที่สร้างขึ้น ใน
โหมดฐานข้อมูลเดียว ค่าเริ่มต้นสำหรับตัวเลือกนี้คือ -สคีมา. ในหลาย-
โหมดฐานข้อมูล มันคือ -สคีมา-db (ในกรณีที่ db เป็นชื่อฐานข้อมูล) ดู --สคีมา-
รูป ตัวเลือกสำหรับรายละเอียด
--changelog-ไฟล์ต่อท้าย SFX
ใช้ SFX เพื่อสร้างชื่อของไฟล์บันทึกการเปลี่ยนแปลง ในโหมดฐานข้อมูลเดียวโดย
ค่าเริ่มต้นไม่มีการใช้คำต่อท้าย ในโหมดหลายฐานข้อมูล ค่าเริ่มต้นสำหรับสิ่งนี้
ตัวเลือกที่ -db (ในกรณีที่ db เป็นชื่อฐานข้อมูล)
--hxx-คำต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น .hxx เพื่อสร้างชื่อของ C++ . ที่สร้างขึ้น
ไฟล์ส่วนหัว
--ixx-คำต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น .ixx เพื่อสร้างชื่อของ C++ . ที่สร้างขึ้น
ไฟล์อินไลน์
--cxx-คำต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น .cxx เพื่อสร้างชื่อของ C++ . ที่สร้างขึ้น
ไฟล์ต้นทาง
--sql-ต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น .sql เพื่อสร้างชื่อที่สร้างขึ้น
ไฟล์สคีมาฐานข้อมูล
--changelog-ต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น . Xml เพื่อสร้างชื่อของไฟล์บันทึกการเปลี่ยนแปลง
--hxx-อารัมภบท ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์ส่วนหัว C ++ ที่สร้างขึ้น
--ixx-บทนำ ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์อินไลน์ C ++ ที่สร้างขึ้น
--cxx-อารัมภบท ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์ต้นฉบับ C ++ ที่สร้างขึ้น
--schema-อารัมภบท ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์ต้นฉบับ schema C++ ที่สร้างขึ้น
--sql-อารัมภบท ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น
--migration-อารัมภบท ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่จุดเริ่มต้นของไฟล์การโยกย้ายฐานข้อมูลที่สร้างขึ้น
--sql-สลับฉาก ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ หลังจากทั้งหมด DROP และก่อนอื่นใด สร้าง งบในการสร้าง
ไฟล์สคีมาฐานข้อมูล
--hxx-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์ส่วนหัว C ++ ที่สร้างขึ้น
--ixx-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์อินไลน์ C++ ที่สร้างขึ้น
--cxx-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์ต้นฉบับ C ++ ที่สร้างขึ้น
--schema-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์ต้นฉบับ schema C++ ที่สร้างขึ้น
--sql-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น
--migration-บทส่งท้าย ข้อความ
สิ่งที่ใส่เข้าไป ข้อความ ที่ส่วนท้ายของไฟล์การโยกย้ายฐานข้อมูลที่สร้างขึ้น
--hxx-อารัมภบท-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่จุดเริ่มต้นของไฟล์ส่วนหัว C ++ ที่สร้างขึ้น
--ixx-อารัมภบท-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่จุดเริ่มต้นของไฟล์อินไลน์ C ++ ที่สร้างขึ้น
--cxx-อารัมภบท-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่จุดเริ่มต้นของไฟล์ต้นฉบับ C ++ ที่สร้างขึ้น
--schema-อารัมภบทไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่จุดเริ่มต้นของสคีมา C ++ source
ไฟล์
--sql-อารัมภบท-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่จุดเริ่มต้นของไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น
--migration-อารัมภบท-ไฟล์ f
แทรกเนื้อหาของไฟล์ f ที่จุดเริ่มต้นของการย้ายฐานข้อมูลที่สร้างขึ้น
ไฟล์
--sql-สลับฉาก-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ หลังจากทั้งหมด DROP และก่อนอื่นใด สร้าง งบใน
ไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น
--hxx-epilogue-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่ส่วนท้ายของไฟล์ส่วนหัว C ++ ที่สร้างขึ้น
--ixx-บทส่งท้ายไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่ส่วนท้ายของไฟล์อินไลน์ C++ ที่สร้างขึ้น
--cxx-epilogue-ไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่ส่วนท้ายของไฟล์ต้นฉบับ C ++ ที่สร้างขึ้น
--schema-บทส่งท้ายไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่ส่วนท้ายของไฟล์ต้นฉบับ schema C++ ที่สร้างขึ้น
--sql-บทส่งท้ายไฟล์ ไฟล์
ใส่เนื้อหาของ ไฟล์ ที่ส่วนท้ายของไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น
--migration-บทส่งท้าย-ไฟล์ f
แทรกเนื้อหาของไฟล์ f ที่ส่วนท้ายของไฟล์การโยกย้ายฐานข้อมูลที่สร้างขึ้น
--odb-อารัมภบท ข้อความ
คอมไพล์ ข้อความ ก่อนไฟล์ส่วนหัวอินพุต ตัวเลือกนี้ให้คุณเพิ่มเพิ่มเติม
การประกาศ เช่น ความเชี่ยวชาญเฉพาะด้านแบบกำหนดเอง ในการคอมไพล์ ODB
กระบวนการ
--odb-อารัมภบท-ไฟล์ ไฟล์
คอมไพล์ ไฟล์ เนื้อหาก่อนไฟล์ส่วนหัวอินพุต ไฟล์คำนำถูกรวบรวม
หลังจากส่วนข้อความอารัมภบททั้งหมด (--odb-อารัมภบท ตัวเลือก)
--odb-บทส่งท้าย ข้อความ
คอมไพล์ ข้อความ หลังจากไฟล์ส่วนหัวอินพุต ตัวเลือกนี้ให้คุณเพิ่มเพิ่มเติม
การประกาศ เช่น ความเชี่ยวชาญเฉพาะด้านแบบกำหนดเอง ในการคอมไพล์ ODB
กระบวนการ
--odb-บทส่งท้าย-ไฟล์ ไฟล์
คอมไพล์ ไฟล์ เนื้อหาหลังไฟล์ส่วนหัวอินพุต มีการรวบรวมไฟล์บทส่งท้าย
หลังจากเศษข้อความส่งท้ายทั้งหมด (--odb-บทส่งท้าย ตัวเลือก)
--table-คำนำหน้า อุปสรรค
เพิ่ม อุปสรรค กับชื่อตารางและสำหรับฐานข้อมูลที่มีดัชนีโลกและ/หรือต่างประเทศ
ชื่อสำคัญ กับชื่อเหล่านั้นด้วย คำนำหน้าถูกเพิ่มเข้าไปในทั้งสองชื่อที่เป็น
ระบุด้วย db ตาราง และ db ดัชนี Pragmas และที่โดยอัตโนมัติ
มาจากชื่อคลาสและข้อมูล หากคุณต้องการตัวคั่น เช่น an
ขีดเส้นใต้ระหว่างคำนำหน้าและชื่อ จากนั้นคุณควรรวมไว้ใน
ค่านำหน้า
--index-ต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น _i เพื่อสร้างชื่อดัชนี ต่อท้ายเท่านั้น
เพิ่มไปยังชื่อที่ได้มาจากชื่อสมาชิกข้อมูลโดยอัตโนมัติ ถ้าคุณ
ต้องมีตัวคั่น เช่น ขีดล่าง ระหว่างชื่อกับส่วนต่อท้าย แล้ว
คุณควรรวมไว้ในค่าต่อท้าย
--fkey-คำต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น _fk เพื่อสร้างชื่อคีย์ต่างประเทศ ถ้าคุณ
ต้องมีตัวคั่น เช่น ขีดล่าง ระหว่างชื่อกับส่วนต่อท้าย แล้ว
คุณควรรวมไว้ในค่าต่อท้าย
--sequence-ต่อท้าย วิภัตติ
ใช้ วิภัตติ แทนที่จะเป็นค่าเริ่มต้น _ซีคิว เพื่อสร้างชื่อลำดับ หากคุณต้องการ
ตัวคั่น เช่น ขีดล่าง ระหว่างชื่อและส่วนต่อท้าย จากนั้นคุณ
ควรรวมไว้ในค่าต่อท้าย
--sql-ชื่อ-กรณี กรณี
แปลงชื่อ SQL ที่ได้รับมาโดยอัตโนมัติทั้งหมดเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ค่าที่ถูกต้อง
สำหรับตัวเลือกนี้คือ บน และ ลด.
--ตาราง-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อตารางที่ได้รับโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL ด้านล่าง
เพื่อดูรายละเอียด
--คอลัมน์-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อคอลัมน์ที่ได้รับโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL ด้านล่าง
เพื่อดูรายละเอียด
--ดัชนี-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อดัชนีที่ได้รับโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL ด้านล่าง
เพื่อดูรายละเอียด
--fkey-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อคีย์ต่างประเทศที่ได้รับมาโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL
ด้านล่างสำหรับรายละเอียด
--ลำดับ-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อลำดับที่ได้รับโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL
ด้านล่างสำหรับรายละเอียด
--คำสั่ง-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลง
ชื่อคำสั่งที่เตรียมมาโดยอัตโนมัติ ดูการแปลงชื่อ SQL
ส่วนด้านล่างสำหรับรายละเอียด
--sql-ชื่อ-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลงทั้งหมด
ชื่อ SQL ที่ได้รับโดยอัตโนมัติ ดูส่วนการแปลงชื่อ SQL ด้านล่างสำหรับ
รายละเอียด
--sql-ชื่อ-regex-ติดตาม
ติดตามกระบวนการของการใช้นิพจน์ทั่วไปที่ระบุด้วยชื่อ SQL
--*-regex ตัวเลือก. ใช้ตัวเลือกนี้เพื่อค้นหาสาเหตุที่นิพจน์ทั่วไปของคุณไม่
ทำในสิ่งที่คุณคาดหวังให้พวกเขาทำ
--accessor-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้เปลี่ยนชื่อสมาชิกข้อมูลเป็น
ชื่อฟังก์ชันเมื่อค้นหาฟังก์ชัน accessor ที่เหมาะสม อาร์กิวเมนต์เพื่อ
ตัวเลือกนี้เป็นนิพจน์ทั่วไปที่เหมือน Perl ใน form /Belt hold /การแทนที่/.
สามารถใช้อักขระใดก็ได้เป็นตัวคั่นแทน / และตัวคั่นสามารถเป็น
หนีเข้าไปข้างใน Belt hold และ การแทนที่ ด้วยแบ็กสแลช (\). คุณสามารถระบุ
นิพจน์ทั่วไปหลายรายการโดยทำซ้ำตัวเลือกนี้
นิพจน์ทั่วไปทั้งหมดจะถูกลองในลำดับที่ระบุและตัวแรก
ใช้นิพจน์ที่สร้างฟังก์ชัน accessor ที่เหมาะสม แต่ละนิพจน์คือ
ลองสองครั้ง: ครั้งแรกด้วยชื่อสมาชิกจริงแล้วตามด้วยของสมาชิก สาธารณะ
พร้อมชื่อ ซึ่งได้มาจากการนำของตกแต่งชื่อสมาชิกทั่วไปออก เช่น
ขีดเส้นใต้นำหน้าและตามหลัง, the m_ คำนำหน้า ฯลฯ คอมไพเลอร์ ODB ด้วย
รวมนิพจน์ในตัวจำนวนหนึ่งสำหรับชื่อตัวเข้าถึงที่ใช้กันทั่วไป เช่น
get_foo, รับฟู, รับฟูและเพียง foo. นิพจน์ในตัวจะถูกลองครั้งสุดท้าย
ตัวอย่างเช่น นิพจน์ต่อไปนี้แปลงสมาชิกข้อมูลด้วยชื่อสาธารณะ
ในรูปแบบ foo ถึงชื่อ accessor ในแบบฟอร์ม เก็ทฟู:
/(.+)/รับ\u$1/
ดูส่วน REGEX และ SHELL QUOTING ด้านล่าง
--accessor-regex-trace
ติดตามกระบวนการของการใช้นิพจน์ทั่วไปที่ระบุด้วย the --อุปกรณ์เสริม-
นิพจน์ทั่วไป ตัวเลือก. ใช้ตัวเลือกนี้เพื่อค้นหาสาเหตุที่นิพจน์ทั่วไปของคุณไม่ทำ
สิ่งที่คุณคาดหวังให้พวกเขาทำ
--ตัวแก้ไข-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้เปลี่ยนชื่อสมาชิกข้อมูลเป็น
ชื่อฟังก์ชันเมื่อค้นหาฟังก์ชันตัวปรับแต่งที่เหมาะสม อาร์กิวเมนต์เพื่อ
ตัวเลือกนี้เป็นนิพจน์ทั่วไปที่เหมือน Perl ใน form /Belt hold /การแทนที่/.
สามารถใช้อักขระใดก็ได้เป็นตัวคั่นแทน / และตัวคั่นสามารถเป็น
หนีเข้าไปข้างใน Belt hold และ การแทนที่ ด้วยแบ็กสแลช (\). คุณสามารถระบุ
นิพจน์ทั่วไปหลายรายการโดยทำซ้ำตัวเลือกนี้
นิพจน์ทั่วไปทั้งหมดจะถูกลองในลำดับที่ระบุและตัวแรก
ใช้นิพจน์ที่สร้างฟังก์ชันตัวปรับแต่งที่เหมาะสม แต่ละนิพจน์คือ
ลองสองครั้ง: ครั้งแรกด้วยชื่อสมาชิกจริงแล้วตามด้วยของสมาชิก สาธารณะ
พร้อมชื่อ ซึ่งได้มาจากการนำของตกแต่งชื่อสมาชิกทั่วไปออก เช่น
ขีดเส้นใต้นำหน้าและตามหลัง, the m_ คำนำหน้า ฯลฯ คอมไพเลอร์ ODB ด้วย
รวมนิพจน์ในตัวจำนวนหนึ่งสำหรับชื่อตัวปรับแต่งที่ใช้กันทั่วไป เช่น
set_foo, ชุดฟู, เซ็ตฟูและเพียง foo. นิพจน์ในตัวจะถูกลองครั้งสุดท้าย
ตัวอย่างเช่น นิพจน์ต่อไปนี้แปลงสมาชิกข้อมูลด้วยชื่อสาธารณะ
ในรูปแบบ foo เพื่อแก้ไขชื่อในรูปแบบ เซ็ตฟู:
/(.+)/ชุด\u$1/
ดูส่วน REGEX และ SHELL QUOTING ด้านล่าง
--modifier-regex-ติดตาม
ติดตามกระบวนการของการใช้นิพจน์ทั่วไปที่ระบุด้วย the --โมดิฟาย-
นิพจน์ทั่วไป ตัวเลือก. ใช้ตัวเลือกนี้เพื่อค้นหาสาเหตุที่นิพจน์ทั่วไปของคุณไม่ทำ
สิ่งที่คุณคาดหวังให้พวกเขาทำ
--include-with-วงเล็บ
ใช้วงเล็บมุม (<>) แทนเครื่องหมายคำพูด ("") ในตัวสร้าง #include
แนวทาง
--include-คำนำหน้า อุปสรรค
เพิ่ม อุปสรรค สู่การสร้าง #include เส้นทางคำสั่ง
--รวม-regex นิพจน์ทั่วไป
เพิ่ม นิพจน์ทั่วไป ไปที่รายการนิพจน์ทั่วไปที่ใช้ในการแปลงไฟล์ที่สร้างขึ้น #include
เส้นทางคำสั่ง อาร์กิวเมนต์ของตัวเลือกนี้คือนิพจน์ทั่วไปที่เหมือน Perl ใน
แบบฟอร์ม /Belt hold /การแทนที่/. สามารถใช้อักขระใดก็ได้เป็นตัวคั่นแทน
/ และตัวคั่นสามารถหลบหนีเข้าไปข้างในได้ Belt hold และ การแทนที่ ด้วยแบ็กสแลช
(\). คุณสามารถระบุนิพจน์ทั่วไปได้หลายนิพจน์โดยทำซ้ำตัวเลือกนี้ ทั้งหมด
ลองใช้นิพจน์ทั่วไปในลำดับที่ระบุและนิพจน์แรกที่
ใช้การแข่งขัน
ตัวอย่างเช่น การแปลงนิพจน์ต่อไปนี้รวมถึงเส้นทางในรูปแบบ
ฟู/bar-odb.h สู่เส้นทางในรูปแบบ foo/สร้าง/bar-odb.h:
%foo/(.+)-odb.h%foo/สร้าง/$1-odb.h%
ดูส่วน REGEX และ SHELL QUOTING ด้านล่าง
--include-regex-ติดตาม
ติดตามกระบวนการของการใช้นิพจน์ทั่วไปที่ระบุด้วย the --รวม-
นิพจน์ทั่วไป ตัวเลือก. ใช้ตัวเลือกนี้เพื่อค้นหาสาเหตุที่นิพจน์ทั่วไปของคุณไม่ทำ
สิ่งที่คุณคาดหวังให้พวกเขาทำ
--ยาม-คำนำหน้า อุปสรรค
เพิ่ม อุปสรรค ไปยังตัวป้องกันการรวมส่วนหัวที่สร้างขึ้น คำนำหน้าจะเปลี่ยนเป็น
ตัวพิมพ์ใหญ่และอักขระที่ผิดกฎหมายในชื่อมาโครตัวประมวลผลล่วงหน้าคือ
แทนที่ด้วยขีดล่าง
--show-sloc
พิมพ์จำนวนบรรทัดซอร์สโค้ดจริงที่สร้างขึ้น (SLOC)
--sloc-จำกัด NUM
ตรวจสอบว่าจำนวนบรรทัดซอร์สโค้ดทางกายภาพ (SLOC) ที่สร้างขึ้นไม่ได้
เกินกว่า NUM.
--options-ไฟล์ ไฟล์
อ่านตัวเลือกเพิ่มเติมจาก ไฟล์ โดยแต่ละตัวเลือกจะปรากฏในบรรทัดแยกกัน
ตามด้วยช่องว่างและค่าตัวเลือก ว่างบรรทัดและบรรทัดเริ่มต้น
สีสดสวย # จะถูกละเลย ค่าตัวเลือกสามารถปิดเป็นสองเท่า (") หรือโสด (')
เครื่องหมายคำพูดเพื่อรักษาช่องว่างนำหน้าและต่อท้ายตลอดจนระบุช่องว่าง
ค่านิยม หากค่านั้นมีเครื่องหมายคำพูดต่อท้ายหรือนำหน้า ให้ใส่เครื่องหมาย
คำพูดคู่พิเศษเช่น '"NS"'. คำพูดที่ไม่นำหน้าและไม่ต่อท้ายคือ
ตีความว่าเป็นส่วนหนึ่งของค่าตัวเลือก
ความหมายของการให้ตัวเลือกในไฟล์นั้นเทียบเท่ากับการจัดเตรียมสิ่งเดียวกัน
ชุดตัวเลือกในลำดับเดียวกันบนบรรทัดคำสั่ง ณ จุดที่
--options-ไฟล์ มีการระบุตัวเลือกยกเว้นว่าเชลล์หนีและการอ้างอิงคือ
ไม่ต้องการ. คุณสามารถทำซ้ำตัวเลือกนี้เพื่อระบุไฟล์ตัวเลือกมากกว่าหนึ่งไฟล์
-x ตัวเลือก
ส่ง ตัวเลือก ไปยังคอมไพเลอร์ C++ พื้นฐาน (g ++) ตัวเลือก ค่าที่ไม่
เริ่มกับ - ถือเป็นไฟล์ g ++ ชื่อปฏิบัติการ
-v พิมพ์คำสั่งที่ดำเนินการเพื่อรันขั้นตอนการคอมไพล์
--ติดตาม
ติดตามกระบวนการรวบรวม
--mysql-เครื่องยนต์ เครื่องยนต์
ใช้ เครื่องยนต์ แทนที่จะเป็นค่าเริ่มต้น InnoDB ในไฟล์สคีมาฐานข้อมูลที่สร้างขึ้น สำหรับ
ข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเอ็นจิ้นการจัดเก็บข้อมูล โปรดดูเอกสารประกอบของ MySQL ถ้าคุณ
ต้องการใช้โปรแกรมฐานข้อมูลเริ่มต้น pass ผิดนัด เป็นค่าสำหรับสิ่งนี้
ตัวเลือก
--sqlite-แทนที่-null
ทำให้คอลัมน์ทั้งหมดในสคีมาฐานข้อมูลที่สร้างขึ้น allow NULL ค่านิยม นี่คือ
มีประโยชน์หลักในการย้ายสคีมาเนื่องจาก SQLite ไม่รองรับการดร็อปของ
คอลัมน์ โดยทำทุกคอลัมน์ NULL ในภายหลังเราสามารถ "ลบ" โดยการตั้งค่าของพวกเขา
ค่าที่จะ NULL. โปรดทราบว่าตัวเลือกนี้จะแทนที่แม้กระทั่ง ไม่เป็นโมฆะ แพรกมา
--sqlite-lax-auto-id
อย่าบังคับให้เพิ่มรหัสอ็อบเจ็กต์ที่กำหนดโดยอัตโนมัติแบบโมโนโทน ในเรื่องนี้
โหมดสคีมาฐานข้อมูลที่สร้างขึ้นละเว้น การเพิ่มอัตโนมัติ คำหลักที่ส่งผลให้
การคงอยู่ของวัตถุเร็วขึ้น แต่อาจนำไปสู่รหัสที่กำหนดโดยอัตโนมัติไม่อยู่ในa
ลำดับจากน้อยไปมาก โปรดดูรายละเอียดในเอกสารประกอบของ SQLite
--pgsql-เซิร์ฟเวอร์-รุ่น Ver
ระบุเวอร์ชันเซิร์ฟเวอร์ PostgreSQL ขั้นต่ำซึ่งสร้างโค้ด C++ และ
สคีมาจะถูกใช้ ข้อมูลนี้ใช้เพื่อเปิดใช้งานเฉพาะเวอร์ชัน
การเพิ่มประสิทธิภาพและวิธีแก้ปัญหาในโค้ดและสคีมา C++ ที่สร้างขึ้น เวอร์ชัน
จะต้องอยู่ใน สำคัญ.ผู้เยาว์ แบบฟอร์ม เช่น 9.1. หากไม่ได้ระบุตัวเลือกนี้
แล้วก็ 7.4 หรือภายหลังจะถือว่า
--oracle-client-version Ver
ระบุเวอร์ชันขั้นต่ำของไลบรารีไคลเอ็นต์ Oracle (OCI) ที่สร้าง
รหัส C++ จะถูกเชื่อมโยง ข้อมูลนี้ใช้เพื่อเปิดใช้งานเฉพาะเวอร์ชัน
การเพิ่มประสิทธิภาพและวิธีแก้ปัญหาในโค้ด C++ ที่สร้างขึ้น เวอร์ชันต้องอยู่ใน
สำคัญ.ผู้เยาว์ แบบฟอร์ม เช่น 11.2. หากไม่ได้ระบุตัวเลือกนี้ไว้ 10.1
หรือภายหลังจะถือว่า
--oracle-warn-การตัดทอน
เตือนเกี่ยวกับชื่อ SQL ที่ยาวเกิน 30 ตัวอักษรและดังนั้น
ตัดทอน โปรดทราบว่าระหว่างการสร้างสคีมาฐานข้อมูล (--สร้างสคีมา) คปภ
ตรวจพบเมื่อการตัดทอนดังกล่าวนำไปสู่ความขัดแย้งของชื่อและปัญหาในการวินิจฉัยแม้กระทั่ง
โดยไม่ระบุตัวเลือกนี้
--mssql-เซิร์ฟเวอร์-รุ่น Ver
ระบุเวอร์ชันเซิร์ฟเวอร์ SQL Server ขั้นต่ำซึ่งสร้างโค้ด C++ และ
สคีมาจะถูกใช้ ข้อมูลนี้ใช้เพื่อเปิดใช้งานเฉพาะเวอร์ชัน
การเพิ่มประสิทธิภาพและวิธีแก้ปัญหาในโค้ดและสคีมา C++ ที่สร้างขึ้น เวอร์ชัน
จะต้องอยู่ใน สำคัญ.ผู้เยาว์ แบบฟอร์ม เช่น 9.0 (SQL เซิร์ฟเวอร์ 2005), 10.5 (2008R2),
or 11.0 (2012). หากไม่ได้ระบุตัวเลือกนี้ไว้ 10.0 (SQL Server 2008) หรือ
ต่อมาถือว่า.
--mssql-ขีด จำกัด สั้น ขนาด
ระบุขีดจำกัดขนาดข้อมูลแบบสั้น ถ้าเป็นอักขระ อักขระประจำชาติ หรือเลขฐานสอง
ชนิดข้อมูลมีความยาวสูงสุด (เป็นไบต์) น้อยกว่าหรือเท่ากับขีดจำกัดนี้ จากนั้นจึง
จะถือว่าเป็น Short ข้อมูลมิฉะนั้นก็คือ ยาว ข้อมูล. สำหรับข้อมูลสั้น ODB ล่วงหน้า
จัดสรรบัฟเฟอร์ระดับกลางที่มีขนาดสูงสุดและผูกเข้ากับa .โดยตรง
พารามิเตอร์หรือคอลัมน์ผลลัพธ์ ด้วยวิธีนี้ API พื้นฐาน (ODBC) สามารถอ่าน/เขียนได้
จาก/ไปยังบัฟเฟอร์นี้โดยตรง กรณีข้อมูลยาว ข้อมูลจะถูกอ่าน/เขียน
เป็นชิ้น ๆ โดยใช้ SQLGetData()/SQLPutData() ฟังก์ชัน ODBC ในขณะที่ข้อมูลยาว
วิธีการลดจำนวนหน่วยความจำที่ใช้โดยแอปพลิเคชันอาจต้องใช้
ทรัพยากร CPU ที่มากขึ้น ขีดจำกัดข้อมูลสั้นเริ่มต้นคือ 1024 ไบต์ เมื่อตั้งค่า a
กำหนดขีด จำกัด ข้อมูลสั้น ๆ ตรวจสอบให้แน่ใจว่ามีขนาดใหญ่เพียงพอเพื่อไม่ให้มีวัตถุ
id ในแอปพลิเคชันถือเป็นข้อมูลแบบยาว
SQL ชื่อ การแปลงร่าง
คอมไพเลอร์ ODB มีกลไกจำนวนหนึ่งสำหรับการแปลงที่ได้รับมาโดยอัตโนมัติ
ชื่อ SQL เช่น ตาราง คอลัมน์ ฯลฯ เพื่อให้ตรงกับแบบแผนการตั้งชื่อเฉพาะ ที่
ระดับที่สูงกว่า เราสามารถเพิ่มคำนำหน้าให้กับชื่อสากลได้ (ตารางและสำหรับบางฐานข้อมูล ดัชนี
และ/หรือกุญแจต่างประเทศ) กับ --table-คำนำหน้า ตัวเลือก. ในทำนองเดียวกันเราสามารถระบุกำหนดเองได้
คำต่อท้ายสำหรับดัชนีที่ได้รับโดยอัตโนมัติ (--index-ต่อท้าย; ค่าเริ่มต้นคือ _i) คีย์ต่างประเทศ
(--fkey-คำต่อท้าย; ค่าเริ่มต้นคือ _fk) และลำดับ (--sequence-ต่อท้าย; ค่าเริ่มต้นคือ _ซีคิว) ชื่อ
สุดท้าย เรายังสามารถแปลงชื่อทั้งหมดเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กด้วย --sql-ชื่อ-กรณี
ตัวเลือก (ค่าที่ถูกต้องคือ บน และ ลด).
ที่ระดับล่าง เราสามารถระบุชุดของนิพจน์ทั่วไปเพื่อใช้ตามอำเภอใจ
การแปลงชื่อ SQL ที่ได้รับมาโดยอัตโนมัติ ถ้าต้องการแบบพิเศษ
นิพจน์เฉพาะเพื่อใช้กับชื่อเฉพาะ เช่น ตารางหรือคอลัมน์ จากนั้นเราใช้ one
ของ --ชนิด-regex ตัวเลือก โดยที่ ชนิด เป็นไปได้ ตาราง, คอลัมน์, ดัชนี, ฟค, ลำดับหรือ
คำสั่ง. ในทางกลับกัน ถ้าเราต้องการให้นิพจน์ทั่วไปของเรานำไปใช้กับ SQL . ทั้งหมด
ชื่อ เราใช้ the --sql-ชื่อ-regex ตัวเลือก
ปฏิสัมพันธ์ระหว่างการเปลี่ยนแปลงระดับสูงและระดับล่างมีดังนี้ คำนำหน้า
และส่วนต่อท้ายจะถูกเพิ่มก่อน จากนั้นจึงใช้การแปลงนิพจน์ทั่วไป
สุดท้าย หากได้รับการร้องขอ ชื่อจะถูกแปลงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก โปรดทราบว่าทั้งหมด
การเปลี่ยนแปลงเหล่านี้ยกเว้นสำหรับ --table-คำนำหน้า ใช้กับชื่อที่ได้รับโดยอัตโนมัติเท่านั้น
กล่าวอีกนัยหนึ่ง ถ้าตาราง คอลัมน์ ฯลฯ มีการระบุชื่ออย่างชัดเจนด้วย Pragma
จากนั้นจะใช้ตามที่เป็นอยู่ โดยไม่ต้องใช้การแปลงใดๆ (ยกเว้นคำนำหน้าตาราง)
ค่าสำหรับ --*-regex ตัวเลือกคือนิพจน์ทั่วไปที่เหมือน Perl ในแบบฟอร์ม
/Belt hold /การแทนที่/. สามารถใช้อักขระใดก็ได้เป็นตัวคั่นแทน / และ
ตัวคั่นสามารถหลบหนีเข้าไปข้างในได้ Belt hold และ การแทนที่ ด้วยแบ็กสแลช (\). คุณสามารถ
ยังระบุนิพจน์ทั่วไปหลายรายการด้วยการทำซ้ำตัวเลือกเหล่านี้
นิพจน์ทั่วไปทั้งหมดจะถูกลองในลำดับที่ระบุด้วยชื่อเฉพาะ
นิพจน์ (เช่น --ตาราง-regex) ลองก่อนแล้วตามด้วยนิพจน์ทั่วไป
(--sql-ชื่อ-regex). ใช้นิพจน์แรกที่ตรงกัน
ตัวอย่างเช่น พิจารณานิพจน์ทั่วไปที่เปลี่ยนชื่อคลาสในรูปแบบ ซีฟู
เป็นชื่อตารางในรูปแบบ ฟู:
--ตาราง-regex '/C(.+)/\U$1/'
เป็นตัวอย่างที่น่าสนใจยิ่งขึ้น ลองพิจารณาการเปลี่ยนแปลงของชื่อคลาสที่ตามหลัง
แบบแผนกรณีอูฐตอนบน (เช่น ฟูบาร์) ให้กับชื่อตารางที่ตามหลัง
ขีดล่างคั่น แบบแผนตัวพิมพ์ใหญ่ทั้งหมด (เช่น FOO_BAR). สำหรับกรณีนี้เรา
ต้องใช้นิพจน์แยกกันเพื่อจัดการกับคำเดียว สองคำ ฯลฯ ชื่อ:
--ตาราง-regex '/([Az][az]+)/\U$1/'
--ตาราง-regex '/([Az][az]+)([Az][az]+)/\U$1_$2/'
ดูส่วน REGEX และ SHELL QUOTING ด้านล่าง
REGEX AND SHELL ใบเสนอราคา
เมื่อป้อนอาร์กิวเมนต์นิพจน์ทั่วไปในบรรทัดคำสั่งเชลล์มักจะ
จำเป็นต้องใช้การอ้างอิง (ปิดอาร์กิวเมนต์ใน " " หรือ ' ') เพื่อป้องกัน
เชลล์จากการตีความอักขระบางตัว เช่น ช่องว่างเป็นตัวคั่นอาร์กิวเมนต์และ
$ เป็นการขยายตัวแปร
น่าเสียดายที่มันยากที่จะทำสิ่งนี้ให้สำเร็จในลักษณะที่สามารถเคลื่อนย้ายข้าม POSIX เชลล์
เช่นที่พบใน GNU/Linux และ UNIX และ Windows shell ตัวอย่างเช่น หากคุณใช้ " "
สำหรับการอ้างอิง คุณจะได้ผลลัพธ์ที่ไม่ถูกต้องกับเชลล์ POSIX หากนิพจน์ของคุณมี $
วิธีมาตรฐานในการจัดการกับสิ่งนี้บนระบบ POSIX คือการใช้ ' ' แทน
น่าเสียดายที่ Windows shell ไม่ได้ลบ ' ' ออกจากอาร์กิวเมนต์เมื่อส่งผ่านไปยัง
แอปพลิเคชัน ด้วยเหตุนี้ คุณอาจต้องใช้ ' ' สำหรับ POSIX และ " " สำหรับ Windows ($ ไม่ใช่
ถือเป็นอักขระพิเศษบน Windows)
อีกวิธีหนึ่ง คุณสามารถบันทึกตัวเลือกนิพจน์ทั่วไปลงในไฟล์ หนึ่งตัวเลือกต่อบรรทัด
และใช้ไฟล์นี้กับ --options-ไฟล์ ตัวเลือก. ด้วยวิธีนี้คุณไม่จำเป็นต้อง
กังวลเกี่ยวกับการอ้างอิงเชลล์
วินิจฉัย
หากไฟล์อินพุตไม่ถูกต้อง C ++ ODB จะออกข้อความวินิจฉัยไปยัง STDERR และออก
ด้วยรหัสทางออกที่ไม่ใช่ศูนย์
ใช้ odb ออนไลน์โดยใช้บริการ onworks.net