قم بإنشاء ملفات *.dacpac من مشروع قاعدة بيانات VS في إجراءات GitHub

· 2 دقيقة قراءة

إذا كنت بحاجة إلى العمل مع قواعد البيانات وترغب في القيام بالتطوير السريع، فيجب أن يكون لديك تدفق حيث كلما قمت بإضافة أو تعديل جدول أو وظيفة 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 في النهاية). يمكنك أيضًا العثور على معظم وسائل التواصل الاجتماعي الخاصة بي على رأس المدونة.

آمل أن تكونوا قد أحببت هذا المنصب! سيا!