قم بإنشاء ملفات *.dacpac من مشروع قاعدة بيانات VS في إجراءات GitHub
إذا كنت بحاجة إلى العمل مع قواعد البيانات وترغب في القيام بالتطوير السريع، فيجب أن يكون لديك تدفق حيث كلما قمت بإضافة أو تعديل جدول أو وظيفة SP، فإنه سيتم تجميع ذلك وإنشاء ملف النشر لقاعدة البيانات.
لقد كنت أقوم بهذا التطبيق منذ فترة طويلة الآن، فنحن نقوم بالتغييرات على المستوى المحلي، ونقارنها بمشروع قاعدة البيانات الخاصة بنا، وبعد ذلك عندما نلتزم بالتغييرات وندفعها، يقومون بإنشاء ملف bacpac الذي سينتقل إلى قاعدة البيانات.
إنه يزيل كل المتاعب التي تواجهك عند القيام بذلك يدويًا، مما قد يتسبب في حدوث خطأ بشري وفي قاعدة البيانات، وهذا خبر سيئ حقًا.
#مشروع قاعدة البيانات
عندما نقوم بإنشاء مشروع قاعدة البيانات الخاص بنا على Visual Studio ونقوم باستيراد قاعدة بيانات، فسوف ينتهي الأمر بهذا الشكل

عندما نقوم بتشغيل تجميع في هذا المشروع، فإنه سيتم إنشاء ملف dacpac الذي سيتضمن كل بنيتنا

خط أنابيب جيثب
الآن بعد أن تم نشر الكود الخاص بنا في المستودع، نحتاج الآن إلى إنشاء إجراء من شأنه تجميع هذا المشروع وإنشاء ملف dacpac ووضعه في مكان ما حيث يمكننا تنزيله أو استخدامه لخطوة أخرى.
name: DacpacGithubActions project build
on:
push:
branches: main
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1
- name: Navigate to Workspace
run: cd $GITHUB_WORKSPACE
- name: Create Build Directory
run: mkdir artifacts
- name: Build Solution
run: |
msbuild.exe /t:DacpacGithubActions /p:DebugSymbols=false /p:DebugType=None /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:OutDir="../artifacts"
- name: Upload artifact
uses: actions/[email protected]
with:
name: DacpacGithubActionsArtifacts
path: "../artifacts"
سيفعل هذا الإجراء مجموعة من الأشياء، ويبني الحل ويضع النتيجة في مجلد artifacts، الذي تم إنشاؤه مسبقًا، ثم سيقوم بتحميل الملفات من هذا المجلد إلى القطع الأثرية.
تشغيل خط الأنابيب
الآن قم ببدء البناء، يجب أن تكون النتيجة ما يلي

إذا قمنا بالفعل بتنزيل القطعة الأثرية وإلقاء نظرة على المحتوى، فهذا ما نحتاجه للمستقبل، عندما ننفذ خطوة نشر مستمرة، ملف dacpac!

الكود
هذا المشروع بأكمله موجود على Github ويمكنك العثور عليه هنا!
إذا كانت لديك أي مشاكل أو أسئلة، فلا تتردد في الاتصال بي على أي من وسائل التواصل الاجتماعي على @emimontesdeoca (في تويتر هو في الواقع @emimontesdeocaa مع اثنين من aa في النهاية). يمكنك أيضًا العثور على معظم وسائل التواصل الاجتماعي الخاصة بي على رأس المدونة.
آمل أن تكونوا قد أحببت هذا المنصب! سيا!