내가 사물의 자바 측면에서 빛을 수 있습니다 : 여기 내가 빌드에 대한 응용 프로그램 코드를 사용할 수 없다고 장소입니다. Maven을 사용한다면, Maven이 생성 할 수있는 간단한 프로젝트 아키타 입문서부터 시작하십시오. 그것은 당신을위한 디렉토리 구조를 만들 것입니다 그리고 거기에 물건을 추가 시작할 수 있습니다. 스크립트 용으로 bin
디렉토리가 있으면 문제가 없습니다. 즉, 생성 된 SQL 파일 대신에 관용적 인 Java에서 스키마 작성과 같은 작업을 수행하는 것을 선호합니다. 제 생각에는 장기적이고 안전하고 지속 가능합니다. Hibernate는 예를 들어 주석을 사용하여 최대 절전 모드 세션을 초기화하자마자 DB를 생성하여 스키마를 생성하고 sql 파일을 사용자의 vcs 등에 체크인 할 필요가 없도록합니다. 메이븐 (Maven)은 당신이 원하는 것을 할 수있는 많은 플러그인을 가지고 있습니다. 그래서 선호하는 경로가 될 것입니다. 그렇지 않다면, 당신은 항상 bin
디렉토리에 스크립트 중 하나를 실행시킬 수 있습니다.
예를 들어, 내 API 프로젝트에서 서블릿이 초기화 될 때 Cassandra 키 공간과 열 패밀리를 만들고 업데이트합니다. 이렇게하면 모든 사람이 init 메소드에 변경 사항/업데이트 사항을 추가하면 데이터 저장소가 항상 최신 상태로 유지됩니다. 이것은 모든 저글링을 제거합니다 ... "허튼 소리가 작동하지 않습니다" "... 오, 그건 열 패밀리가 생성되지 않았기 때문입니다 ... 우리의 자식에서 그 파일을 가져 오십시오. 그러나 그렇지 않을 수도 있습니다. CassandraGuy에게 최신 스키마를 내 보낸 다음 cassandra 인스턴스로 가져 오기를 요청하십시오. "이것은 모든 문제를 해결하지 못합니다. 사람들은 여전히 징계를 받아야하며 그들이 어떤 변화를하고 있는지 생각해야합니다. 누군가가 수백만 행이있는 기존 MySQL 테이블의 init에 인덱스를 추가하기로 결정한 경우 init이 인덱스 작성을 완료하는 동안 해당 테이블을 확실히 잠글 것임을 명심하십시오. 이러한 상황은 여전히 코드 검토, 계획 등이 필요합니다.
왜 그럴 수 없습니까? 나는 sbt, Ant/Maven/etc 만 알고 있지만 프로젝트 유물을 모두 사용할 수 있습니다. 또 다른 일반적인 해결책은 배치 또는 셸 파일을 사용하는 것입니다. –
물론 스칼라 구문으로 bash 스크립트를 작성할 수 있습니다.'#!/bin/sh','exec scala "$ 0" "$ @"' ,'! #'그리고 정규 스칼라 문법을 따르십시오. –
@DaveNewton 어떻게하면 maven으로 할 수 있습니까? –