SQL 언어 (T-SQL, MySQL, PostgreSQL, Snowflake 및 Vertica SQL Dialcts) 소나 퀴 베를위한 플러그인
PayPal을 통해이 프로젝트 및 기타 프로젝트를 지원할 수 있습니다
현재 플러그인이 지원합니다.
튜토리얼 :
다른 플러그인 버전은 다음을 지원합니다.
다른 방언 사용 방법에 대한 예제를 참조하십시오.
TSQL에 대한 소나 설정. 여기에서 예제를 확인할 수 있습니다
sonar.projectKey=examples.sql.mysql.project
sonar.projectName=examples.sql.mysql.project
sonar.projectVersion=1.1
sonar.sources=src
# optional
sonar.language=sql
# optional as plugin defaults to tsql
sonar.sql.dialect=tsql
PSSQL에 대한 소나 설정. 여기에서 예제를 확인할 수 있습니다
sonar.projectKey=examples.sql.psql.project
sonar.projectName=examples.sql.psql.project
sonar.projectVersion=1.1
sonar.sources=src
# optional
sonar.language=sql
sonar.sql.dialect=pssqlv2
MySQL의 소나 설정. 여기에서 예제를 확인할 수 있습니다
sonar.projectKey=examples.sql.mysql.project
sonar.projectName=examples.sql.mysql.project
sonar.projectVersion=1.1
sonar.sources=src
# optional
sonar.language=sql
sonar.sql.dialect=mysql
VSQL (Vertica SQL)의 소나 설정. 여기에서 예제를 확인할 수 있습니다
sonar.projectKey=examples.sql.vsql.project
sonar.projectName=examples.sql.vsql.project
sonar.projectVersion=1.1
sonar.sources=src
# optional
sonar.language=sql
sonar.sql.dialect=vsql
눈송이를위한 소나한 설정. 여기에서 예제를 확인할 수 있습니다
sonar.projectKey=examples.sql.snowflake.project
sonar.projectName=examples.sql.snowflake.project
sonar.projectVersion=1.1
sonar.sources=src
# optional
sonar.language=sql
sonar.sql.dialect=snowflake
이는 로컬 디렉토리 (./rules 디렉토리에 위치)의 사용자 정의 플러그인 규칙을 사용하는 프로젝트 소나 설정의 예입니다. 여기에서 전체 예제를 확인할 수 있습니다
sonar.projectKey=pssql.custom.rules
sonar.projectName=Test PSSQL custom rules project
sonar.projectVersion=1.0
sonar.sources=src
# optional
sonar.language=sql
sonar.sql.dialect=pssqlv2
# change these
sonar.sql.rules.path=./rules
다음 옵션은 구성을 위해 사용할 수 있습니다.
추가 속성을 구성하십시오.
plsql 플러그인 실행을 원할 때 (실행 SQL 플러그인을 비활성화 함) : sonar.lang.patterns.sql=na
SQL 플러그인 실행을 원할 때 (PSSQL 플러그인을 비활성화 함) : sonar.lang.patterns.plsqlopen=na
플러그인을 사용하면 추가 CLI 도구가 있습니다 (소나 실행이 필요하지 않음).
용법:
java -jar rulesHelper.jar 도움말을 인쇄합니다java -jar rulesHelper.jar print text "SELECT * FROM dbo.test;" tsql TSQL 방언 용 구문 분석 AST 트리를 인쇄합니다.전체 도움 정보 :
Please pass the following:
action (print, verify or analyze)
type (text or file)
value (sql string or path to rules file/folder)
dialect (tsql, pssql, mysql, pssql, pssqlv2, snowflake)
folder (folder to analyze, only applicable when using analyze action)
Example to print AST tree:
print text "SELECT * FROM dbo.test;" tsql
Example to verify custom rules definitions:
verify file "c:/tests/customRules.rules;" mysql
Example to execute custom rules and plugin rules against specified folder:
analyze file "c:/tests/customRules.rules;" snowflake "c:docssrc"
Example to execute sql analysis againt specified folder:
analyze file "NA" snowflake "c:docssrc"
실행 : mvn versions:display-dependency-updates spotless:check spotless:apply install
VSCODE로 쉽게 개발할 수있는 컨테이너 정의가 추가되었습니다. 원격 컨테이너 확장자를 다운로드하고 Maven 대상을 파악하십시오. 
mkdir -p ~/workspace/sonarqube/extensions/plugins
cp ~/workspace/sonar-sql-plugin/src/sonar-sql-plugin/target/sonar-sql-plugin-1.1.0.jar ~/workspace/sonarqube/extensions/plugins
docker run -i --name sonarqube
-p 9000:9000
-v ~/workspace/sonarqube/conf:/opt/sonarqube/conf
-v ~/workspace/sonarqube/extensions:/opt/sonarqube/extensions
-v ~/workspace/sonarqube/logs:/opt/sonarqube/logs
-v ~/workspace/sonarqube/data:/opt/sonarqube/data
sonarqube
docker start sonarqube
docker run
--rm
-e SONAR_HOST_URL="http://127.0.0.1:9000"
-e SONAR_LOGIN="YOUR_ADMIN_TOKEN_HERE"
-e SONAR_PASSWORD="YOUR_ADMIN_PWD_HERE"
--network="host"
-v "FOLDER_WITH_THE_CODE:/usr/src"
sonarsource/sonar-scanner-cli -X
눈송이 문법 추가에 대한 예제 : https://github.com/gretard/sonar-sql-plugin/commit/e3296a5d1c69a031f24358aad87a4e46c46ea785